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


crypto/bn/bn_gf2m.c:730:14: Call
728.   
729.       BN_CTX_start(ctx);
730.       if ((b = BN_CTX_get(ctx)) == NULL)
                    ^
731.           goto err;
732.   

crypto/bn/bn_ctx.c:238:5: Call
  236.       }
  237.       /* OK, make sure the returned bignum is "zero" */
  238.       BN_zero(ret);
             ^
  239.       /* clear BN_FLG_CONSTTIME if leaked from previous frames */
  240.       ret->flags &= (~BN_FLG_CONSTTIME);

crypto/bn/bn_lib.c:368:15: Assignment
    366.       a->neg = 0;
    367.       a->d[0] = w;
    368.       a->top = (w ? 1 : 0);
                         ^
    369.       a->flags &= ~BN_FLG_FIXED_TOP;
    370.       bn_check_top(a);

crypto/bn/bn_lib.c:368:5: Assignment
    366.       a->neg = 0;
    367.       a->d[0] = w;
    368.       a->top = (w ? 1 : 0);
               ^
    369.       a->flags &= ~BN_FLG_FIXED_TOP;
    370.       bn_check_top(a);

crypto/bn/bn_gf2m.c:741:10: Call
739.   
740.       /* r := a * b */
741.       if (!BN_GF2m_mod_mul(r, a, b, p, ctx))
                ^
742.           goto err;
743.   

crypto/bn/bn_gf2m.c:465:1: Parameter `*b->d`
  463.    * BN_GF2m_mod_mul_arr function.
  464.    */
  465. > int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
  466.                       const BIGNUM *p, BN_CTX *ctx)
  467.   {

crypto/bn/bn_gf2m.c:481:11: Call
  479.           goto err;
  480.       }
  481.       ret = BN_GF2m_mod_mul_arr(r, a, b, arr, ctx);
                   ^
  482.       bn_check_top(r);
  483.    err:

crypto/bn/bn_gf2m.c:410:1: <Offset trace>
408.    * the result in r.  r could be a or b; a could be b.
409.    */
410. > int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
411.                           const int p[], BN_CTX *ctx)
412.   {

crypto/bn/bn_gf2m.c:410:1: Parameter `b->top`
    408.    * the result in r.  r could be a or b; a could be b.
    409.    */
    410. > int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
    411.                           const int p[], BN_CTX *ctx)
    412.   {

crypto/bn/bn_gf2m.c:410:1: <Length trace>
408.    * the result in r.  r could be a or b; a could be b.
409.    */
410. > int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
411.                           const int p[], BN_CTX *ctx)
412.   {

crypto/bn/bn_gf2m.c:410:1: Parameter `*b->d`
    408.    * the result in r.  r could be a or b; a could be b.
    409.    */
    410. > int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
    411.                           const int p[], BN_CTX *ctx)
    412.   {

crypto/bn/bn_gf2m.c:438:40: Array access: Offset: [1, +oo] Size: [0, 8388607] by call to `BN_GF2m_mod_mul` 
    436.       for (j = 0; j < b->top; j += 2) {
    437.           y0 = b->d[j];
    438.           y1 = ((j + 1) == b->top) ? 0 : b->d[j + 1];
                                                  ^
    439.           for (i = 0; i < a->top; i += 2) {
    440.               x0 = a->d[i];
