test/ectest.c:582: error: BUFFER_OVERRUN_L3
  Offset: [2, +oo] Size: [0, +oo] by call to `EC_POINTs_mul`.
Showing all 13 steps of the trace


test/ectest.c:582:10: Call
580.   
581.       /* z is still the group order */
582.       if (!TEST_true(EC_POINTs_mul(group, P, NULL, 2, points, scalars, ctx))
                ^
583.           || !TEST_true(EC_POINTs_mul(group, R, z, 2, points, scalars, ctx))
584.           || !TEST_int_eq(0, EC_POINT_cmp(group, P, R, ctx))

crypto/ec/ec_lib.c:918:1: Parameter `num`
  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: <Offset trace>
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:410:1: Parameter `num`
    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:510:5: Assignment
    508.       }
    509.   
    510.       totalnum = num + numblocks;
               ^
    511.   
    512.       wsize = OPENSSL_malloc(totalnum * sizeof(wsize[0]));

crypto/ec/ec_mult.c:410:1: <Length trace>
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:410:1: Parameter `num`
    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:510:5: Assignment
    508.       }
    509.   
    510.       totalnum = num + numblocks;
               ^
    511.   
    512.       wsize = OPENSSL_malloc(totalnum * sizeof(wsize[0]));

crypto/ec/ec_mult.c:513:16: Call
    511.   
    512.       wsize = OPENSSL_malloc(totalnum * sizeof(wsize[0]));
    513.       wNAF_len = OPENSSL_malloc(totalnum * sizeof(wNAF_len[0]));
                          ^
    514.       /* include space for pivot */
    515.       wNAF = OPENSSL_malloc((totalnum + 1) * sizeof(wNAF[0]));

crypto/mem.c:201:9: Assignment
      199.   
      200.       if (num == 0)
      201.           return NULL;
                     ^
      202.   
      203.       FAILTEST();

crypto/ec/ec_mult.c:513:5: Assignment
    511.   
    512.       wsize = OPENSSL_malloc(totalnum * sizeof(wsize[0]));
    513.       wNAF_len = OPENSSL_malloc(totalnum * sizeof(wNAF_len[0]));
               ^
    514.       /* include space for pivot */
    515.       wNAF = OPENSSL_malloc((totalnum + 1) * sizeof(wNAF[0]));

crypto/ec/ec_mult.c:618:25: Array access: Offset: [2, +oo] Size: [0, +oo] by call to `EC_POINTs_mul` 
    616.                   for (i = num; i < totalnum; i++) {
    617.                       if (i < totalnum - 1) {
    618.                           wNAF_len[i] = blocksize;
                                   ^
    619.                           if (tmp_len < blocksize) {
    620.                               ECerr(EC_F_EC_WNAF_MUL, ERR_R_INTERNAL_ERROR);
