Bug 1230759: Part 9 - reapplied patches from
bug 792325
MozReview-Commit-ID: BsjK4EbfQ3I
--- a/netwerk/srtp/src/crypto/replay/rdbx.c
+++ b/netwerk/srtp/src/crypto/replay/rdbx.c
@@ -137,25 +137,25 @@ int32_t srtp_index_guess(const srtp_xtd_
uint32_t guess_roc = (uint32_t)(*guess >> 16);
uint16_t guess_seq = (uint16_t)*guess;
#endif
int32_t difference;
if (local_seq < seq_num_median) {
if (s - local_seq > seq_num_median) {
guess_roc = local_roc - 1;
- difference = s - local_seq - seq_num_max;
+ difference = seq_num_max - s + local_seq;
} else {
guess_roc = local_roc;
difference = s - local_seq;
}
} else {
if (local_seq - seq_num_median > s) {
guess_roc = local_roc + 1;
- difference = s - local_seq + seq_num_max;
+ difference = seq_num_max - local_seq + s;
} else {
guess_roc = local_roc;
difference = s - local_seq;
}
}
guess_seq = s;
/* Note: guess_roc is 32 bits, so this generates a 48-bit result! */