test/ectest.c:182: error: BUFFER_OVERRUN_L3
  Offset: [4, +oo] (⇐ [0, +oo] + 4) Size: [0, 8388607] by call to `BN_mul`.
Showing all 11 steps of the trace


test/ectest.c:131:10: Call
129.       fprintf(stdout, "verify group order ...");
130.       fflush(stdout);
131.       if (!EC_GROUP_get_order(group, order, ctx))
                ^
132.           ABORT;
133.       if (!EC_POINT_mul(group, Q, order, NULL, NULL, ctx))

crypto/ec/ec_lib.c:315:10: Call
  313.   int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
  314.   {
  315.       if (!BN_copy(order, group->order))
                  ^
  316.           return 0;
  317.   

crypto/bn/bn_lib.c:429:1: Parameter `*a->d`
    427.   }
    428.   
    429. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
    430.   {
    431.       int i;

test/ectest.c:182:14: Call
180.   
181.           /* n2 = (1 - order) * (1 + order) = 1 - order^2 */
182.           if (!BN_mul(n2, n1, n2, ctx))
                    ^
183.               ABORT;
184.           if (!EC_POINT_mul(group, Q, NULL, P, n2, ctx))

crypto/bn/bn_mul.c:883:1: Parameter `*b->d`
  881.   #endif                          /* BN_RECURSION */
  882.   
  883. > int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
  884.   {
  885.       int ret = 0;

crypto/bn/bn_mul.c:964:17: Call
  962.                   if (bn_wexpand(rr, k * 4) == NULL)
  963.                       goto err;
  964.                   bn_mul_part_recursive(rr->d, a->d, b->d,
                         ^
  965.                                         j, al - j, bl - j, t->d);
  966.               } else {            /* al <= j || bl <= j */

crypto/bn/bn_mul.c:534:1: Parameter `*b`
    532.    */
    533.   /* tnX may not be negative but less than n */
    534. > void bn_mul_part_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n,
    535.                              int tna, int tnb, BN_ULONG *t)
    536.   {

crypto/bn/bn_mul.c:542:9: Call
    540.   
    541.       if (n < 8) {
    542.           bn_mul_normal(r, a, n + tna, b, n + tnb);
                   ^
    543.           return;
    544.       }

crypto/bn/bn_mul.c:1037:1: <Length trace>
1035.   }
1036.   
1037. > void bn_mul_normal(BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int nb)
1038.   {
1039.       BN_ULONG *rr;

crypto/bn/bn_mul.c:1037:1: Parameter `*b`
      1035.   }
      1036.   
      1037. > void bn_mul_normal(BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int nb)
      1038.   {
      1039.       BN_ULONG *rr;

crypto/bn/bn_mul.c:1072:50: Array access: Offset: [4, +oo] (⇐ [0, +oo] + 4) Size: [0, 8388607] by call to `BN_mul` 
      1070.           if (--nb <= 0)
      1071.               return;
      1072.           rr[4] = bn_mul_add_words(&(r[4]), a, na, b[4]);
                                                               ^
      1073.           rr += 4;
      1074.           r += 4;
