crypto/ec/ec2_mult.c:306: error: BUFFER_OVERRUN_L3
  Offset: 0 Size: [0, 8388607] by call to `BN_GF2m_mod_arr`.
Showing all 8 steps of the trace


crypto/ec/ec2_mult.c:293:10: Call
291.        */
292.       BN_CTX_start(ctx);
293.       x1 = BN_CTX_get(ctx);
                ^
294.       z1 = BN_CTX_get(ctx);
295.       if (z1 == 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/ec/ec2_mult.c:306:10: Call
304.       bn_wexpand(z2, bn_get_top(group->field));
305.   
306.       if (!BN_GF2m_mod_arr(x1, point->X, group->poly))
                ^
307.           goto err;               /* x1 = x */
308.       if (!BN_one(z1))

crypto/bn/bn_gf2m.c:371:1: <Length trace>
369.   
370.   /* Performs modular reduction of a and store result in r.  r could be a. */
371. > int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[])
372.   {
373.       int j, k;

crypto/bn/bn_gf2m.c:371:1: Parameter `*r->d`
  369.   
  370.   /* Performs modular reduction of a and store result in r.  r could be a. */
  371. > int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[])
  372.   {
  373.       int j, k;

crypto/bn/bn_gf2m.c:397:5: Assignment
  395.           r->top = a->top;
  396.       }
  397.       z = r->d;
             ^
  398.   
  399.       /* start reduction */

crypto/bn/bn_gf2m.c:443:9: Array access: Offset: 0 Size: [0, 8388607] by call to `BN_GF2m_mod_arr` 
  441.           else
  442.               z[dN] = 0;
  443.           z[0] ^= zz;             /* reduction t^0 component */
                 ^
  444.   
  445.           for (k = 1; p[k] != 0; k++) {
