test/bntest.c:1422: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, 8388607] by call to `BN_GF2m_mod_inv`.
Showing all 11 steps of the trace


test/bntest.c:1422:13: Call
1420.           BN_bntest_rand(a, 512, 0, 0);
1421.           for (j = 0; j < 2; j++) {
1422.               BN_GF2m_mod_inv(c, a, b[j], ctx);
                    ^
1423.               BN_GF2m_mod_mul(d, a, c, b[j], ctx);
1424.               /* Test that ((1/a)*a) = 1. */

crypto/bn/bn_gf2m.c:631:1: Parameter `r->top`
  629.    * Curve Cryptography Over Binary Fields".
  630.    */
  631. > int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
  632.   {
  633.       BIGNUM *b, *c = NULL, *u = NULL, *v = NULL, *tmp;

test/bntest.c:1422:13: Call
1420.           BN_bntest_rand(a, 512, 0, 0);
1421.           for (j = 0; j < 2; j++) {
1422.               BN_GF2m_mod_inv(c, a, b[j], ctx);
                    ^
1423.               BN_GF2m_mod_mul(d, a, c, b[j], ctx);
1424.               /* Test that ((1/a)*a) = 1. */

crypto/bn/bn_gf2m.c:710:14: <Offset trace>
708.           bdp = b->d;
709.           bdp[0] = 1;
710.           for (i = 1; i < top; i++)
                    ^
711.               bdp[i] = 0;
712.           b->top = top;

crypto/bn/bn_gf2m.c:710:14: Assignment
  708.           bdp = b->d;
  709.           bdp[0] = 1;
  710.           for (i = 1; i < top; i++)
                      ^
  711.               bdp[i] = 0;
  712.           b->top = top;

crypto/bn/bn_gf2m.c:641:14: <Length trace>
639.       BN_CTX_start(ctx);
640.   
641.       if ((b = BN_CTX_get(ctx)) == NULL)
                    ^
642.           goto err;
643.       if ((c = BN_CTX_get(ctx)) == NULL)

crypto/bn/bn_gf2m.c:641:14: Call
  639.       BN_CTX_start(ctx);
  640.   
  641.       if ((b = BN_CTX_get(ctx)) == NULL)
                      ^
  642.           goto err;
  643.       if ((c = BN_CTX_get(ctx)) == NULL)

crypto/bn/bn_ctx.c:284:5: Call
    282.       }
    283.       /* OK, make sure the returned bignum is "zero" */
    284.       BN_zero(ret);
               ^
    285.       ctx->used++;
    286.       CTXDBG_RET(ctx, ret);

crypto/bn/bn_lib.c:530:1: Parameter `*a->d`
      528.   }
      529.   
      530. > int BN_set_word(BIGNUM *a, BN_ULONG w)
      531.   {
      532.       bn_check_top(a);

crypto/bn/bn_gf2m.c:708:9: Assignment
  706.           if (!bn_wexpand(b, top))
  707.             goto err;
  708.           bdp = b->d;
                 ^
  709.           bdp[0] = 1;
  710.           for (i = 1; i < top; i++)

crypto/bn/bn_gf2m.c:711:13: Array access: Offset: [1, +oo] Size: [0, 8388607] by call to `BN_GF2m_mod_inv` 
  709.           bdp[0] = 1;
  710.           for (i = 1; i < top; i++)
  711.               bdp[i] = 0;
                     ^
  712.           b->top = top;
  713.           if (!bn_wexpand(c, top))
