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


ssl/d1_pkt.c:582:4: Assignment
580.   		if (s->packet_length != DTLS1_RT_HEADER_LENGTH)
581.   			{
582.   			s->packet_length = 0;
          ^
583.   			goto again;
584.   			}

ssl/d1_pkt.c:708:7: Call
706.   		}
707.   
708.   	if (!dtls1_process_record(s))
             ^
709.   		{
710.   		rr->length = 0;

ssl/d1_pkt.c:375:1: Parameter `s->s3->rrec.length`
  373.   #endif
  374.   
  375. > static int
  376.   dtls1_process_record(SSL *s)
  377.   {

ssl/d1_pkt.c:468:4: Call
  466.   			 * */
  467.   			mac = mac_tmp;
  468.   			ssl3_cbc_copy_mac(mac_tmp, rr, mac_size);
            ^
  469.   			rr->length -= mac_size;
  470.   			}

ssl/s3_cbc.c:251:1: Parameter `md_size`
    249.   #define CBC_MAC_ROTATE_IN_PLACE
    250.   
    251. > void ssl3_cbc_copy_mac(unsigned char* out,
    252.   		       const SSL3_RECORD *rec,
    253.   		       unsigned md_size)

ssl/s3_cbc.c:297:29: Call
    295.   		{
    296.   		unsigned char mac_started = constant_time_ge(i, mac_start);
    297.   		unsigned char mac_ended = constant_time_ge(i, mac_end);
                                       ^
    298.   		unsigned char b = rec->data[i];
    299.   		rotated_mac[j++] |= b & mac_started & ~mac_ended;

ssl/s3_cbc.c:87:1: <LHS trace>
85.   
86.   /* constant_time_ge returns 0xff if a>=b and 0x00 otherwise. */
87. > static unsigned constant_time_ge(unsigned a, unsigned b)
88.   	{
89.   	a -= b;

ssl/s3_cbc.c:87:1: Parameter `a`
      85.   
      86.   /* constant_time_ge returns 0xff if a>=b and 0x00 otherwise. */
      87. > static unsigned constant_time_ge(unsigned a, unsigned b)
      88.   	{
      89.   	a -= b;

ssl/s3_cbc.c:87:1: <RHS trace>
85.   
86.   /* constant_time_ge returns 0xff if a>=b and 0x00 otherwise. */
87. > static unsigned constant_time_ge(unsigned a, unsigned b)
88.   	{
89.   	a -= b;

ssl/s3_cbc.c:87:1: Parameter `b`
      85.   
      86.   /* constant_time_ge returns 0xff if a>=b and 0x00 otherwise. */
      87. > static unsigned constant_time_ge(unsigned a, unsigned b)
      88.   	{
      89.   	a -= b;

ssl/s3_cbc.c:89:2: Binary operation: ([0, 17727] - [0, 17728]):unsigned32 by call to `dtls1_process_record` 
      87.   static unsigned constant_time_ge(unsigned a, unsigned b)
      88.   	{
      89.   	a -= b;
             ^
      90.   	return DUPLICATE_MSB_TO_ALL(~a);
      91.   	}
