crypto/asn1/a_d2i_fp.c:167: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - [0, 16]):unsigned64 by call to `BUF_MEM_grow_clean`.
Showing all 7 steps of the trace


crypto/asn1/a_d2i_fp.c:147:5: Assignment
145.       unsigned char *p;
146.       int i;
147.       size_t want = HEADER_SIZE;
           ^
148.       int eos = 0;
149.       size_t off = 0;

crypto/asn1/a_d2i_fp.c:167:38: Call
165.               want -= (len - off);
166.   
167.               if (len + want < len || !BUF_MEM_grow_clean(b, len + want)) {
                                            ^
168.                   ASN1err(ASN1_F_ASN1_D2I_READ_BIO, ERR_R_MALLOC_FAILURE);
169.                   goto err;

crypto/buffer/buffer.c:162:1: <LHS trace>
160.   }
161.   
162. > size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
163.   {
164.       char *ret;

crypto/buffer/buffer.c:162:1: Parameter `len`
  160.   }
  161.   
  162. > size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
  163.   {
  164.       char *ret;

crypto/buffer/buffer.c:162:1: <RHS trace>
160.   }
161.   
162. > size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
163.   {
164.       char *ret;

crypto/buffer/buffer.c:162:1: Parameter `len`
  160.   }
  161.   
  162. > size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
  163.   {
  164.       char *ret;

crypto/buffer/buffer.c:168:9: Binary operation: ([0, +oo] - [0, 16]):unsigned64 by call to `BUF_MEM_grow_clean` 
  166.   
  167.       if (str->length >= len) {
  168.           memset(&str->data[len], 0, str->length - len);
                 ^
  169.           str->length = len;
  170.           return (len);
