test/bntest.c:1662: 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:1662:10: Call
1660.           goto err;
1661.   
1662.       if (!TEST_true(BN_asc2bn(&bn, "0"))
                 ^
1663.               || !TEST_BN_eq_zero(bn)
1664.               || !TEST_BN_ge_zero(bn))

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

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

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

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

crypto/bn/bn_print.c:211:10: Assignment
    209.       }
    210.   
    211.       for (i = 0; i <= (INT_MAX/4) && isdigit((unsigned char)a[i]); i++)
                    ^
    212.           continue;
    213.   

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

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

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