Bug 1230759: Part 9 - reapplied patches from bug 792325 draft
authorNils Ohlmeier [:drno] <drno@ohlmeier.org>
Sat, 11 Nov 2017 00:46:53 -0800
changeset 696866 890689de3e76fa44505aa4e942aa761191b3a213
parent 696865 38a432e1ba0638929c7fb2755351fc5a2166d8a4
child 696867 3f1874ef453fbc1f278b43709283a672197f5f4e
push id88810
push userdrno@ohlmeier.org
push dateSun, 12 Nov 2017 02:22:41 +0000
bugs1230759, 792325
milestone58.0a1
Bug 1230759: Part 9 - reapplied patches from bug 792325 MozReview-Commit-ID: BsjK4EbfQ3I
netwerk/srtp/src/crypto/replay/rdbx.c
--- 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! */