test/ectest.c:924: error: BUFFER_OVERRUN_L3
  Offset added: [8, +oo] Size: [0, 536870848] by call to `EC_POINTs_mul`.
Showing all 19 steps of the trace


test/ectest.c:833:13: Call
831.           || !TEST_ptr(z = BN_new())
832.           || !TEST_ptr(yplusone = BN_new())
833.           || !TEST_true(BN_hex2bn(&p, test->p))
                   ^
834.           || !TEST_true(BN_hex2bn(&a, test->a))
835.           || !TEST_true(BN_hex2bn(&b, test->b))

crypto/bn/bn_print.c:126:1: Parameter `(*bn)->top`
  124.   }
  125.   
  126. > int BN_hex2bn(BIGNUM **bn, const char *a)
  127.   {
  128.       BIGNUM *ret = NULL;

test/ectest.c:916:17: Call
914.           if (!TEST_true(BN_add(y, z, BN_value_one()))
915.               || !TEST_BN_even(y)
916.               || !TEST_true(BN_rshift1(y, y)))
                       ^
917.               goto err;
918.           scalars[0] = y;         /* (group order + 1)/2, so y*Q + y*Q = Q */

crypto/bn/bn_shift.c:54:9: Call
  52.       bn_check_top(a);
  53.   
  54.       if (BN_is_zero(a)) {
                ^
  55.           BN_zero(r);
  56.           return 1;

crypto/bn/bn_lib.c:853:1: Parameter `a->top`
    851.   }
    852.   
    853. > int BN_is_zero(const BIGNUM *a)
    854.   {
    855.       return a->top == 0;

test/ectest.c:924:14: Call
922.   
923.           /* z is still the group order */
924.           if (!TEST_true(EC_POINTs_mul(group, P, NULL, 2, points, scalars, ctx))
                    ^
925.               || !TEST_true(EC_POINTs_mul(group, R, z, 2, points, scalars, ctx))
926.               || !TEST_int_eq(0, EC_POINT_cmp(group, P, R, ctx))

crypto/ec/ec_lib.c:918:1: Parameter `scalar->top`
  916.    */
  917.   
  918. > int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
  919.                     size_t num, const EC_POINT *points[],
  920.                     const BIGNUM *scalars[], BN_CTX *ctx)

crypto/ec/ec_lib.c:950:15: Call
  948.       else
  949.           /* use default */
  950.           ret = ec_wNAF_mul(group, r, scalar, num, points, scalars, ctx);
                       ^
  951.   
  952.       BN_CTX_free(new_ctx);

crypto/ec/ec_mult.c:410:1: Parameter `scalar->top`
    408.    * in the addition if scalar != NULL
    409.    */
    410. > int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
    411.                   size_t num, const EC_POINT *points[], const BIGNUM *scalars[],
    412.                   BN_CTX *ctx)

crypto/ec/ec_mult.c:453:20: Call
    451.                * always call the ladder version.
    452.                */
    453.               return ec_scalar_mul_ladder(group, r, scalar, NULL, ctx);
                              ^
    454.           }
    455.           if ((scalar == NULL) && (num == 1)) {

crypto/ec/ec_mult.c:139:1: Parameter `scalar->top`
      137.    * Returns 1 on success, 0 otherwise.
      138.    */
      139. > int ec_scalar_mul_ladder(const EC_GROUP *group, EC_POINT *r,
      140.                            const BIGNUM *scalar, const EC_POINT *point,
      141.                            BN_CTX *ctx)

crypto/ec/ec_mult.c:215:10: Call
      213.       }
      214.   
      215.       if (!BN_copy(k, scalar)) {
                      ^
      216.           ECerr(EC_F_EC_SCALAR_MUL_LADDER, ERR_R_BN_LIB);
      217.           goto err;

crypto/bn/bn_lib.c:281:1: <Offset trace>
279.   }
280.   
281. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
282.   {
283.       bn_check_top(b);

crypto/bn/bn_lib.c:281:1: Parameter `b->top`
        279.   }
        280.   
        281. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
        282.   {
        283.       bn_check_top(b);

crypto/bn/bn_lib.c:281:1: <Length trace>
279.   }
280.   
281. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
282.   {
283.       bn_check_top(b);

crypto/bn/bn_lib.c:281:1: Parameter `*a->d`
        279.   }
        280.   
        281. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
        282.   {
        283.       bn_check_top(b);

crypto/bn/bn_lib.c:287:9: Call
        285.       if (a == b)
        286.           return a;
        287.       if (bn_wexpand(a, b->top) == NULL)
                       ^
        288.           return NULL;
        289.   

crypto/bn/bn_lib.c:949:1: Parameter `*a->d`
          947.   }
          948.   
          949. > BIGNUM *bn_wexpand(BIGNUM *a, int words)
          950.   {
          951.       return (words <= a->dmax) ? a : bn_expand2(a, words);

crypto/bn/bn_lib.c:291:9: Array access: Offset added: [8, +oo] Size: [0, 536870848] by call to `EC_POINTs_mul` 
        289.   
        290.       if (b->top > 0)
        291.           memcpy(a->d, b->d, sizeof(b->d[0]) * b->top);
                       ^
        292.   
        293.       a->neg = b->neg;
