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


test/bntest.c:667:13: Call
665.           BN_bntest_rand(a, 512, 0, 0);
666.           for (j = 0; j < 2; j++) {
667.               BN_GF2m_mod_inv(c, a, b[j], ctx);
                   ^
668.               BN_GF2m_mod_mul(d, a, c, b[j], ctx);
669.               /* Test that ((1/a)*a) = 1. */

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

test/bntest.c:667:13: Call
665.           BN_bntest_rand(a, 512, 0, 0);
666.           for (j = 0; j < 2; j++) {
667.               BN_GF2m_mod_inv(c, a, b[j], ctx);
                   ^
668.               BN_GF2m_mod_mul(d, a, c, b[j], ctx);
669.               /* Test that ((1/a)*a) = 1. */

crypto/bn/bn_gf2m.c:639:14: <Offset trace>
637.           bdp = b->d;
638.           bdp[0] = 1;
639.           for (i = 1; i < top; i++)
                    ^
640.               bdp[i] = 0;
641.           b->top = top;

crypto/bn/bn_gf2m.c:639:14: Assignment
  637.           bdp = b->d;
  638.           bdp[0] = 1;
  639.           for (i = 1; i < top; i++)
                      ^
  640.               bdp[i] = 0;
  641.           b->top = top;

crypto/bn/bn_gf2m.c:570:14: <Length trace>
568.       BN_CTX_start(ctx);
569.   
570.       if ((b = BN_CTX_get(ctx)) == NULL)
                    ^
571.           goto err;
572.       if ((c = BN_CTX_get(ctx)) == NULL)

crypto/bn/bn_gf2m.c:570:14: Call
  568.       BN_CTX_start(ctx);
  569.   
  570.       if ((b = BN_CTX_get(ctx)) == NULL)
                      ^
  571.           goto err;
  572.       if ((c = BN_CTX_get(ctx)) == NULL)

crypto/bn/bn_ctx.c:229:5: Call
    227.       }
    228.       /* OK, make sure the returned bignum is "zero" */
    229.       BN_zero(ret);
               ^
    230.       ctx->used++;
    231.       CTXDBG_RET(ctx, ret);

crypto/bn/bn_lib.c:393:1: Parameter `*a->d`
      391.   }
      392.   
      393. > int BN_set_word(BIGNUM *a, BN_ULONG w)
      394.   {
      395.       bn_check_top(a);

crypto/bn/bn_lib.c:396:9: Call
      394.   {
      395.       bn_check_top(a);
      396.       if (bn_expand(a, (int)sizeof(BN_ULONG) * 8) == NULL)
                     ^
      397.           return (0);
      398.       a->neg = 0;

crypto/bn/bn_lcl.h:660:1: Parameter `*a->d`
        658.                            const BIGNUM *add, const BIGNUM *rem, BN_CTX *ctx);
        659.   
        660. > static ossl_inline BIGNUM *bn_expand(BIGNUM *a, int bits)
        661.   {
        662.       if (bits > (INT_MAX - BN_BITS2 + 1))

crypto/bn/bn_gf2m.c:637:9: Assignment
  635.           if (!bn_wexpand(b, top))
  636.             goto err;
  637.           bdp = b->d;
                 ^
  638.           bdp[0] = 1;
  639.           for (i = 1; i < top; i++)

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