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


test/ecstresstest.c:53:14: Call
51.   
52.       for (i = 0; i < num; i++) {
53.           if (!TEST_true(EC_POINT_mul(group, point, NULL, point, scalar, NULL))
                   ^
54.                   || !TEST_true(EC_POINT_get_affine_coordinates(group, point,
55.                                                                 scalar,

crypto/ec/ec_lib.c:958:12: Call
  956.       scalars[0] = p_scalar;
  957.   
  958.       return EC_POINTs_mul(group, r, g_scalar,
                    ^
  959.                            (point != NULL
  960.                             && p_scalar != NULL), points, scalars, ctx);

crypto/ec/ec_lib.c:909:1: Parameter `(*scalars)->top`
    907.    */
    908.   
    909. > int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
    910.                     size_t num, const EC_POINT *points[],
    911.                     const BIGNUM *scalars[], BN_CTX *ctx)

test/ecstresstest.c:53:14: Call
51.   
52.       for (i = 0; i < num; i++) {
53.           if (!TEST_true(EC_POINT_mul(group, point, NULL, point, scalar, NULL))
                   ^
54.                   || !TEST_true(EC_POINT_get_affine_coordinates(group, point,
55.                                                                 scalar,

crypto/ec/ec_lib.c:947:1: Parameter `p_scalar->top`
  945.   }
  946.   
  947. > int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar,
  948.                    const EC_POINT *point, const BIGNUM *p_scalar, BN_CTX *ctx)
  949.   {

crypto/ec/ec_lib.c:958:12: Call
  956.       scalars[0] = p_scalar;
  957.   
  958.       return EC_POINTs_mul(group, r, g_scalar,
                    ^
  959.                            (point != NULL
  960.                             && p_scalar != NULL), points, scalars, ctx);

crypto/ec/ec_lib.c:909:1: Parameter `(*scalars)->top`
    907.    */
    908.   
    909. > int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
    910.                     size_t num, const EC_POINT *points[],
    911.                     const BIGNUM *scalars[], BN_CTX *ctx)

crypto/ec/ec_lib.c:941:15: Call
    939.       else
    940.           /* use default */
    941.           ret = ec_wNAF_mul(group, r, scalar, num, points, scalars, ctx);
                         ^
    942.   
    943.       BN_CTX_free(new_ctx);

crypto/ec/ec_mult.c:410:1: Parameter `(*scalars)->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:463:20: Call
      461.                * actually set and we always call the ladder version.
      462.                */
      463.               return ec_scalar_mul_ladder(group, r, scalars[0], points[0], ctx);
                                ^
      464.           }
      465.       }

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:948:1: Parameter `*a->d`
            946.   }
            947.   
            948. > BIGNUM *bn_wexpand(BIGNUM *a, int words)
            949.   {
            950.       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_POINT_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;
