ssl/record/ssl3_record.c:783: 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:783:19: Call
781.               mac_size = EVP_MD_CTX_size(s->read_hash);
782.           if ((bs != 1) && !send)
783.               ret = tls1_cbc_remove_padding(s, rec, bs, mac_size);
                         ^
784.           if (pad && !send)
785.               rec->length -= pad;

ssl/record/ssl3_record.c:1057:1: Parameter `rec->length`
  1055.    *  -1: otherwise.
  1056.    */
  1057. > int tls1_cbc_remove_padding(const SSL *s,
  1058.                               SSL3_RECORD *rec,
  1059.                               unsigned block_size, unsigned mac_size)

ssl/record/ssl3_record.c:1102:30: Call
  1100.   
  1101.       for (i = 0; i < to_check; i++) {
  1102.           unsigned char mask = constant_time_ge_8(padding_length, i);
                                       ^
  1103.           unsigned char b = rec->data[rec->length - 1 - i];
  1104.           /*

include/internal/constant_time_locl.h:160:1: Parameter `a`
    158.   }
    159.   
    160. > static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
    161.                                                       unsigned int b)
    162.   {

include/internal/constant_time_locl.h:163:28: Call
    161.                                                       unsigned int b)
    162.   {
    163.       return (unsigned char)(constant_time_ge(a, b));
                                      ^
    164.   }
    165.   

include/internal/constant_time_locl.h:154:1: Parameter `a`
      152.   }
      153.   
      154. > static ossl_inline unsigned int constant_time_ge(unsigned int a,
      155.                                                    unsigned int b)
      156.   {

include/internal/constant_time_locl.h:157:13: Call
      155.                                                    unsigned int b)
      156.   {
      157.       return ~constant_time_lt(a, b);
                         ^
      158.   }
      159.   

include/internal/constant_time_locl.h:142:1: <LHS trace>
140.   }
141.   
142. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
143.                                                    unsigned int b)
144.   {

include/internal/constant_time_locl.h:142:1: Parameter `a`
        140.   }
        141.   
        142. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
        143.                                                    unsigned int b)
        144.   {

include/internal/constant_time_locl.h:142:1: <RHS trace>
140.   }
141.   
142. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
143.                                                    unsigned int b)
144.   {

include/internal/constant_time_locl.h:142:1: Parameter `b`
        140.   }
        141.   
        142. > static ossl_inline unsigned int constant_time_lt(unsigned int a,
        143.                                                    unsigned int b)
        144.   {

include/internal/constant_time_locl.h:145:12: Binary operation: ([0, +oo] - [0, 254]):unsigned32 by call to `tls1_cbc_remove_padding` 
        143.                                                    unsigned int b)
        144.   {
        145.       return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
                          ^
        146.   }
        147.   
