test/bntest.c:1593: error: BUFFER_OVERRUN_L2
  Offset: [-15, 536870911] (⇐ [0, 1] + [-15, 536870910]) Size: 2 by call to `parseBN`.
Showing all 9 steps of the trace


test/bntest.c:1593:10: Call
1591.       int st = 0;
1592.   
1593.       if (!TEST_int_eq(parseBN(&bn, "0"), 1)
                 ^
1594.               || !TEST_BN_eq_zero(bn)
1595.               || !TEST_BN_ge_zero(bn)

test/bntest.c:97:1: Parameter `*in`
  95.    * Parse BIGNUM, return number of bytes parsed.
  96.    */
  97. > static int parseBN(BIGNUM **out, const char *in)
  98.   {
  99.       *out = NULL;

test/bntest.c:100:12: Call
  98.   {
  99.       *out = NULL;
  100.       return BN_hex2bn(out, in);
                    ^
  101.   }
  102.   

crypto/bn/bn_print.c:139:10: <Offset trace>
137.       }
138.   
139.       for (i = 0; i <= (INT_MAX/4) && isxdigit((unsigned char)a[i]); i++)
                ^
140.           continue;
141.   

crypto/bn/bn_print.c:139:10: Assignment
    137.       }
    138.   
    139.       for (i = 0; i <= (INT_MAX/4) && isxdigit((unsigned char)a[i]); i++)
                    ^
    140.           continue;
    141.   

crypto/bn/bn_print.c:162:5: Assignment
    160.           goto err;
    161.   
    162.       j = i;                      /* least significant 'hex' */
               ^
    163.       m = 0;
    164.       h = 0;

crypto/bn/bn_print.c:124:1: <Length trace>
122.   }
123.   
124. > int BN_hex2bn(BIGNUM **bn, const char *a)
125.   {
126.       BIGNUM *ret = NULL;

crypto/bn/bn_print.c:124:1: Parameter `*a`
    122.   }
    123.   
    124. > int BN_hex2bn(BIGNUM **bn, const char *a)
    125.   {
    126.       BIGNUM *ret = NULL;

crypto/bn/bn_print.c:169:17: Array access: Offset: [-15, 536870911] (⇐ [0, 1] + [-15, 536870910]) Size: 2 by call to `parseBN` 
    167.           l = 0;
    168.           for (;;) {
    169.               c = a[j - m];
                           ^
    170.               k = OPENSSL_hexchar2int(c);
    171.               if (k < 0)
