crypto/bn/bn_gf2m.c:735: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, 8388607] by call to `BN_GF2m_mod_inv`.
Showing all 15 steps of the trace


crypto/bn/bn_gf2m.c:730:18: Call
728.       bn_check_top(xx);
729.       BN_CTX_start(ctx);
730.       if ((field = BN_CTX_get(ctx)) == NULL)
                        ^
731.           goto err;
732.       if (!BN_GF2m_arr2poly(p, field))

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:394:15: Assignment
    392.       a->neg = 0;
    393.       a->d[0] = w;
    394.       a->top = (w ? 1 : 0);
                         ^
    395.       bn_check_top(a);
    396.       return 1;

crypto/bn/bn_lib.c:394:5: Assignment
    392.       a->neg = 0;
    393.       a->d[0] = w;
    394.       a->top = (w ? 1 : 0);
               ^
    395.       bn_check_top(a);
    396.       return 1;

crypto/bn/bn_gf2m.c:735:11: Call
733.           goto err;
734.   
735.       ret = BN_GF2m_mod_inv(r, xx, field, ctx);
                 ^
736.       bn_check_top(r);
737.   

crypto/bn/bn_gf2m.c:627:14: <Offset trace>
625.           bdp = b->d;
626.           bdp[0] = 1;
627.           for (i = 1; i < top; i++)
                    ^
628.               bdp[i] = 0;
629.           b->top = top;

crypto/bn/bn_gf2m.c:627:14: Assignment
  625.           bdp = b->d;
  626.           bdp[0] = 1;
  627.           for (i = 1; i < top; i++)
                      ^
  628.               bdp[i] = 0;
  629.           b->top = top;

crypto/bn/bn_gf2m.c:560:9: <Length trace>
558.       BN_CTX_start(ctx);
559.   
560.       b = BN_CTX_get(ctx);
               ^
561.       c = BN_CTX_get(ctx);
562.       u = BN_CTX_get(ctx);

crypto/bn/bn_gf2m.c:560:9: Call
  558.       BN_CTX_start(ctx);
  559.   
  560.       b = BN_CTX_get(ctx);
                 ^
  561.       c = BN_CTX_get(ctx);
  562.       u = BN_CTX_get(ctx);

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:387:1: Parameter `*a->d`
      385.   }
      386.   
      387. > int BN_set_word(BIGNUM *a, BN_ULONG w)
      388.   {
      389.       bn_check_top(a);

crypto/bn/bn_lib.c:390:9: Call
      388.   {
      389.       bn_check_top(a);
      390.       if (bn_expand(a, (int)sizeof(BN_ULONG) * 8) == NULL)
                     ^
      391.           return 0;
      392.       a->neg = 0;

crypto/bn/bn_lcl.h:651:1: Parameter `*a->d`
        649.                            const BIGNUM *add, const BIGNUM *rem, BN_CTX *ctx);
        650.   
        651. > static ossl_inline BIGNUM *bn_expand(BIGNUM *a, int bits)
        652.   {
        653.       if (bits > (INT_MAX - BN_BITS2 + 1))

crypto/bn/bn_gf2m.c:625:9: Assignment
  623.           if (!bn_wexpand(b, top))
  624.             goto err;
  625.           bdp = b->d;
                 ^
  626.           bdp[0] = 1;
  627.           for (i = 1; i < top; i++)

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