ssl/record/rec_layer_d1.c:366: error: INTEGER_OVERFLOW_L2
  ([0, 17727] - [0, 17728]):unsigned32 by call to `dtls1_process_record`.
Showing all 15 steps of the trace


ssl/record/rec_layer_d1.c:353:1: Parameter `s->rlayer.rrec.length`
351.   
352.   
353. > int dtls1_process_buffered_records(SSL *s)
354.   {
355.       pitem *item;

ssl/record/rec_layer_d1.c:366:18: Call
364.           while (pqueue_peek(s->rlayer.d->unprocessed_rcds.q)) {
365.               dtls1_get_unprocessed_record(s);
366.               if (!dtls1_process_record(s))
                        ^
367.                   return (0);
368.               if (dtls1_buffer_record(s, &(s->rlayer.d->processed_rcds),

ssl/record/ssl3_record.c:1199:1: Parameter `s->rlayer.rrec.length`
  1197.   }
  1198.   
  1199. > int dtls1_process_record(SSL *s)
  1200.   {
  1201.       int i, al;

ssl/record/ssl3_record.c:1295:13: Call
  1293.                */
  1294.               mac = mac_tmp;
  1295.               ssl3_cbc_copy_mac(mac_tmp, rr, mac_size);
                      ^
  1296.               rr->length -= mac_size;
  1297.           } else {

ssl/record/ssl3_record.c:1122:1: Parameter `md_size`
    1120.   #define CBC_MAC_ROTATE_IN_PLACE
    1121.   
    1122. > void ssl3_cbc_copy_mac(unsigned char *out,
    1123.                          const SSL3_RECORD *rec, unsigned md_size)
    1124.   {

ssl/record/ssl3_record.c:1171:35: Call
    1169.       for (i = scan_start, j = 0; i < rec->orig_len; i++) {
    1170.           unsigned char mac_started = constant_time_ge_8(i, mac_start);
    1171.           unsigned char mac_ended = constant_time_ge_8(i, mac_end);
                                              ^
    1172.           unsigned char b = rec->data[i];
    1173.           rotated_mac[j++] |= b & mac_started & ~mac_ended;

crypto/constant_time_locl.h:153:1: Parameter `a`
      151.   }
      152.   
      153. > static inline unsigned char constant_time_ge_8(unsigned int a, unsigned int b)
      154.   {
      155.       return (unsigned char)(constant_time_ge(a, b));

crypto/constant_time_locl.h:155:28: Call
      153.   static inline unsigned char constant_time_ge_8(unsigned int a, unsigned int b)
      154.   {
      155.       return (unsigned char)(constant_time_ge(a, b));
                                        ^
      156.   }
      157.   

crypto/constant_time_locl.h:148:1: Parameter `a`
        146.   }
        147.   
        148. > static inline unsigned int constant_time_ge(unsigned int a, unsigned int b)
        149.   {
        150.       return ~constant_time_lt(a, b);

crypto/constant_time_locl.h:150:13: Call
        148.   static inline unsigned int constant_time_ge(unsigned int a, unsigned int b)
        149.   {
        150.       return ~constant_time_lt(a, b);
                           ^
        151.   }
        152.   

crypto/constant_time_locl.h:138:1: <LHS trace>
136.   }
137.   
138. > static inline unsigned int constant_time_lt(unsigned int a, unsigned int b)
139.   {
140.       return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));

crypto/constant_time_locl.h:138:1: Parameter `a`
          136.   }
          137.   
          138. > static inline unsigned int constant_time_lt(unsigned int a, unsigned int b)
          139.   {
          140.       return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));

crypto/constant_time_locl.h:138:1: <RHS trace>
136.   }
137.   
138. > static inline unsigned int constant_time_lt(unsigned int a, unsigned int b)
139.   {
140.       return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));

crypto/constant_time_locl.h:138:1: Parameter `b`
          136.   }
          137.   
          138. > static inline unsigned int constant_time_lt(unsigned int a, unsigned int b)
          139.   {
          140.       return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));

crypto/constant_time_locl.h:140:12: Binary operation: ([0, 17727] - [0, 17728]):unsigned32 by call to `dtls1_process_record` 
          138.   static inline unsigned int constant_time_lt(unsigned int a, unsigned int b)
          139.   {
          140.       return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
                            ^
          141.   }
          142.   
