test/bntest.c:1650: error: BUFFER_OVERRUN_L2
  Offset: [0, 536870913] (⇐ [0, 2] + [0, 536870911]) Size: 2 by call to `BN_asc2bn`.
Showing all 9 steps of the trace


test/bntest.c:1650:10: Call
1648.           goto err;
1649.   
1650.       if (!TEST_true(BN_asc2bn(&bn, "0"))
                 ^
1651.               || !TEST_BN_eq_zero(bn)
1652.               || !TEST_BN_ge_zero(bn))

crypto/bn/bn_print.c:269:1: Parameter `*a`
  267.   }
  268.   
  269. > int BN_asc2bn(BIGNUM **bn, const char *a)
  270.   {
  271.       const char *p = a;

crypto/bn/bn_print.c:271:5: Assignment
  269.   int BN_asc2bn(BIGNUM **bn, const char *a)
  270.   {
  271.       const char *p = a;
             ^
  272.   
  273.       if (*p == '-')

crypto/bn/bn_print.c:280:14: Call
  278.               return 0;
  279.       } else {
  280.           if (!BN_dec2bn(bn, p))
                      ^
  281.               return 0;
  282.       }

crypto/bn/bn_print.c:213:10: <Offset trace>
211.       }
212.   
213.       for (i = 0; i <= INT_MAX / 4 && ossl_isdigit(a[i]); i++)
                ^
214.           continue;
215.   

crypto/bn/bn_print.c:213:10: Assignment
    211.       }
    212.   
    213.       for (i = 0; i <= INT_MAX / 4 && ossl_isdigit(a[i]); i++)
                    ^
    214.           continue;
    215.   

crypto/bn/bn_print.c:199:1: <Length trace>
197.   }
198.   
199. > int BN_dec2bn(BIGNUM **bn, const char *a)
200.   {
201.       BIGNUM *ret = NULL;

crypto/bn/bn_print.c:199:1: Parameter `*a`
    197.   }
    198.   
    199. > int BN_dec2bn(BIGNUM **bn, const char *a)
    200.   {
    201.       BIGNUM *ret = NULL;

crypto/bn/bn_print.c:213:37: Array access: Offset: [0, 536870913] (⇐ [0, 2] + [0, 536870911]) Size: 2 by call to `BN_asc2bn` 
    211.       }
    212.   
    213.       for (i = 0; i <= INT_MAX / 4 && ossl_isdigit(a[i]); i++)
                                               ^
    214.           continue;
    215.   
