ssl/s3_cbc.c:184: error: INTEGER_OVERFLOW_L2
  ([0, `*rec->data`] - [0, 254]):unsigned32 by call to `constant_time_ge_8`.
Showing all 11 steps of the trace


ssl/s3_cbc.c:115:1: Parameter `rec->length`
113.    *  -1: otherwise. 
114.    */
115. > int tls1_cbc_remove_padding(const SSL* s,
116.   			    SSL3_RECORD *rec,
117.   			    unsigned block_size,

ssl/s3_cbc.c:184:24: Call
182.   	for (i = 0; i < to_check; i++)
183.   		{
184.   		unsigned char mask = constant_time_ge_8(padding_length, i);
                              ^
185.   		unsigned char b = rec->data[rec->length-1-i];
186.   		/* The final |padding_length+1| bytes should all have the value

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

crypto/constant_time_locl.h:152:25: Call
  150.   static inline unsigned char constant_time_ge_8(unsigned int a, unsigned int b)
  151.   	{
  152.   	return (unsigned char)(constant_time_ge(a, b));
                                 ^
  153.   	}
  154.   

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

crypto/constant_time_locl.h:147:10: Call
    145.   static inline unsigned int constant_time_ge(unsigned int a, unsigned int b)
    146.   	{
    147.   	return ~constant_time_lt(a, b);
                    ^
    148.   	}
    149.   

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

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

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

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

crypto/constant_time_locl.h:137:9: Binary operation: ([0, *rec->data] - [0, 254]):unsigned32 by call to `constant_time_ge_8` 
      135.   static inline unsigned int constant_time_lt(unsigned int a, unsigned int b)
      136.   	{
      137.   	return constant_time_msb(a^((a^b)|((a-b)^b)));
                     ^
      138.   	}
      139.   
