ssl/record/ssl3_record.c:777: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - [0, 254]):unsigned32 by call to `tls1_cbc_remove_padding`.
Showing all 13 steps of the trace


ssl/record/ssl3_record.c:649:1: Parameter `*s->rlayer.rrec.data`
647.    *       an internal error occurred.
648.    */
649. > int tls1_enc(SSL *s, int send)
650.   {
651.       SSL3_RECORD *rec;

ssl/record/ssl3_record.c:777:19: Call
775.               mac_size = EVP_MD_CTX_size(s->read_hash);
776.           if ((bs != 1) && !send)
777.               ret = tls1_cbc_remove_padding(s, rec, bs, mac_size);
                         ^
778.           if (pad && !send)
779.               rec->length -= pad;

ssl/record/ssl3_record.c:1039:1: Parameter `rec->length`
  1037.    *  -1: otherwise.
  1038.    */
  1039. > int tls1_cbc_remove_padding(const SSL *s,
  1040.                               SSL3_RECORD *rec,
  1041.                               unsigned block_size, unsigned mac_size)

ssl/record/ssl3_record.c:1084:30: Call
  1082.   
  1083.       for (i = 0; i < to_check; i++) {
  1084.           unsigned char mask = constant_time_ge_8(padding_length, i);
                                       ^
  1085.           unsigned char b = rec->data[rec->length - 1 - i];
  1086.           /*

include/internal/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));

include/internal/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.   

include/internal/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);

include/internal/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.   

include/internal/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)));

include/internal/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)));

include/internal/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)));

include/internal/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)));

include/internal/constant_time_locl.h:140:12: Binary operation: ([0, +oo] - [0, 254]):unsigned32 by call to `tls1_cbc_remove_padding` 
        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.   
