ssl/record/ssl3_record.c:1372: error: INTEGER_OVERFLOW_L2
  ([0, 17727] - [max(0, `s->rlayer.rrec.length`), 17728]):unsigned32 by call to `ssl3_cbc_copy_mac`.
Showing all 13 steps of the trace


ssl/record/ssl3_record.c:1276:1: Parameter `s->rlayer.rrec.length`
1274.   }
1275.   
1276. > int dtls1_process_record(SSL *s, DTLS1_BITMAP *bitmap)
1277.   {
1278.       int i, al;

ssl/record/ssl3_record.c:1372:13: Call
1370.                */
1371.               mac = mac_tmp;
1372.               ssl3_cbc_copy_mac(mac_tmp, rr, mac_size);
                    ^
1373.               rr->length -= mac_size;
1374.           } else {

ssl/record/ssl3_record.c:1199:1: Parameter `md_size`
  1197.   #define CBC_MAC_ROTATE_IN_PLACE
  1198.   
  1199. > void ssl3_cbc_copy_mac(unsigned char *out,
  1200.                          const SSL3_RECORD *rec, unsigned md_size)
  1201.   {

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

include/internal/constant_time_locl.h:123:1: Parameter `a`
    121.   }
    122.   
    123. > static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
    124.                                                       unsigned int b)
    125.   {

include/internal/constant_time_locl.h:126:28: Call
    124.                                                       unsigned int b)
    125.   {
    126.       return (unsigned char)(constant_time_ge(a, b));
                                      ^
    127.   }
    128.   

include/internal/constant_time_locl.h:117:1: Parameter `a`
      115.   }
      116.   
      117. > static ossl_inline unsigned int constant_time_ge(unsigned int a,
      118.                                                    unsigned int b)
      119.   {

include/internal/constant_time_locl.h:120:13: Call
      118.                                                    unsigned int b)
      119.   {
      120.       return ~constant_time_lt(a, b);
                         ^
      121.   }
      122.   

include/internal/constant_time_locl.h:105:1: <LHS trace>
103.   }
104.   
105. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
106.                                                    unsigned int b)
107.   {

include/internal/constant_time_locl.h:105:1: Parameter `a`
        103.   }
        104.   
        105. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
        106.                                                    unsigned int b)
        107.   {

include/internal/constant_time_locl.h:105:1: <RHS trace>
103.   }
104.   
105. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
106.                                                    unsigned int b)
107.   {

include/internal/constant_time_locl.h:105:1: Parameter `b`
        103.   }
        104.   
        105. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
        106.                                                    unsigned int b)
        107.   {

include/internal/constant_time_locl.h:108:12: Binary operation: ([0, 17727] - [max(0, s->rlayer.rrec.length), 17728]):unsigned32 by call to `ssl3_cbc_copy_mac` 
        106.                                                    unsigned int b)
        107.   {
        108.       return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
                          ^
        109.   }
        110.   
