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


test/bntest.c:1443:13: Call
1441.           BN_bntest_rand(c, 512, 0, 0);
1442.           for (j = 0; j < 2; j++) {
1443.               BN_GF2m_mod_div(d, a, c, b[j], ctx);
                    ^
1444.               BN_GF2m_mod_mul(e, d, c, b[j], ctx);
1445.               BN_GF2m_mod_div(f, a, e, b[j], ctx);

crypto/bn/bn_gf2m.c:760:1: Parameter `r->top`
  758.    * or y, x could equal y.
  759.    */
  760. > int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *y, const BIGNUM *x,
  761.                       const BIGNUM *p, BN_CTX *ctx)
  762.   {

test/bntest.c:1443:13: Call
1441.           BN_bntest_rand(c, 512, 0, 0);
1442.           for (j = 0; j < 2; j++) {
1443.               BN_GF2m_mod_div(d, a, c, b[j], ctx);
                    ^
1444.               BN_GF2m_mod_mul(e, d, c, b[j], ctx);
1445.               BN_GF2m_mod_div(f, a, e, b[j], ctx);

crypto/bn/bn_gf2m.c:760:1: Parameter `p->top`
  758.    * or y, x could equal y.
  759.    */
  760. > int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *y, const BIGNUM *x,
  761.                       const BIGNUM *p, BN_CTX *ctx)
  762.   {

crypto/bn/bn_gf2m.c:775:10: Call
  773.           goto err;
  774.   
  775.       if (!BN_GF2m_mod_inv(xinv, x, p, ctx))
                  ^
  776.           goto err;
  777.       if (!BN_GF2m_mod_mul(r, y, xinv, p, ctx))

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:463:1: Parameter `*a->d`
        461.   }
        462.   
        463. > int BN_set_word(BIGNUM *a, BN_ULONG w)
        464.   {
        465.       bn_check_top(a);

crypto/bn/bn_lib.c:466:9: Call
        464.   {
        465.       bn_check_top(a);
        466.       if (bn_expand(a, (int)sizeof(BN_ULONG) * 8) == NULL)
                       ^
        467.           return (0);
        468.       a->neg = 0;

crypto/bn/bn_lcl.h:676:1: Parameter `*a->d`
          674.   int bn_probable_prime_dh_coprime(BIGNUM *rnd, int bits, BN_CTX *ctx);
          675.   
          676. > static ossl_inline BIGNUM *bn_expand(BIGNUM *a, int bits)
          677.   {
          678.       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_div` 
    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))
