test/bntest.c:851: error: BUFFER_OVERRUN_L3
  Offset added: [8, +oo] Size: [0, 536870848] by call to `BN_mod_exp_recp`.
Showing all 12 steps of the trace


test/bntest.c:831:10: Call
829.        */
830.   
831.       if (!TEST_true(BN_generate_prime_ex(b, 512, 0, NULL, NULL, NULL)))
                ^
832.           goto err;
833.       b->neg = rand_neg();

crypto/bn/bn_prime.c:52:1: Parameter `ret->top`
  50.   }
  51.   
  52. > int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe,
  53.                            const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb)
  54.   {

test/bntest.c:851:14: Call
849.           b->neg = 0;
850.   
851.           if (!TEST_true(BN_mod_exp_recp(r, a, t, b, ctx)))
                    ^
852.               goto err;
853.           b->neg = 1;

crypto/bn/bn_exp.c:158:1: Parameter `m->top`
  156.   }
  157.   
  158. > int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
  159.                       const BIGNUM *m, BN_CTX *ctx)
  160.   {

crypto/bn/bn_exp.c:195:14: Call
  193.       if (m->neg) {
  194.           /* ignore sign of 'm' */
  195.           if (!BN_copy(aa, m))
                      ^
  196.               goto err;
  197.           aa->neg = 0;

crypto/bn/bn_lib.c:323:1: <Offset trace>
321.   }
322.   
323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
324.   {
325.       bn_check_top(b);

crypto/bn/bn_lib.c:323:1: Parameter `b->top`
    321.   }
    322.   
    323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
    324.   {
    325.       bn_check_top(b);

crypto/bn/bn_lib.c:323:1: <Length trace>
321.   }
322.   
323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
324.   {
325.       bn_check_top(b);

crypto/bn/bn_lib.c:323:1: Parameter `*a->d`
    321.   }
    322.   
    323. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
    324.   {
    325.       bn_check_top(b);

crypto/bn/bn_lib.c:329:9: Call
    327.       if (a == b)
    328.           return a;
    329.       if (bn_wexpand(a, b->top) == NULL)
                   ^
    330.           return NULL;
    331.   

crypto/bn/bn_lib.c:951:1: Parameter `*a->d`
      949.   }
      950.   
      951. > BIGNUM *bn_wexpand(BIGNUM *a, int words)
      952.   {
      953.       return (words <= a->dmax) ? a : bn_expand2(a, words);

crypto/bn/bn_lib.c:333:9: Array access: Offset added: [8, +oo] Size: [0, 536870848] by call to `BN_mod_exp_recp` 
    331.   
    332.       if (b->top > 0)
    333.           memcpy(a->d, b->d, sizeof(b->d[0]) * b->top);
                   ^
    334.   
    335.       if (BN_get_flags(b, BN_FLG_CONSTTIME) != 0)
