test/ectest.c:826: 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:826:14: Call
824.   
825.           /* z is still the group order */
826.           if (!EC_POINTs_mul(group, P, NULL, 2, points, scalars, ctx))
                    ^
827.               ABORT;
828.           if (!EC_POINTs_mul(group, R, z, 2, points, scalars, ctx))

crypto/ec/ec_lib.c:914:1: Parameter `num`
  912.    */
  913.   
  914. > int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
  915.                     size_t num, const EC_POINT *points[],
  916.                     const BIGNUM *scalars[], BN_CTX *ctx)

crypto/ec/ec_lib.c:920:16: Call
  918.       if (group->meth->mul == 0)
  919.           /* use default */
  920.           return ec_wNAF_mul(group, r, scalar, num, points, scalars, ctx);
                        ^
  921.   
  922.       return group->meth->mul(group, r, scalar, num, points, scalars, ctx);

crypto/ec/ec_mult.c:125:1: <Offset trace>
123.    * in the addition if scalar != NULL
124.    */
125. > int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
126.                   size_t num, const EC_POINT *points[], const BIGNUM *scalars[],
127.                   BN_CTX *ctx)

crypto/ec/ec_mult.c:125:1: Parameter `num`
    123.    * in the addition if scalar != NULL
    124.    */
    125. > int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
    126.                   size_t num, const EC_POINT *points[], const BIGNUM *scalars[],
    127.                   BN_CTX *ctx)

crypto/ec/ec_mult.c:219:5: Assignment
    217.       }
    218.   
    219.       totalnum = num + numblocks;
               ^
    220.   
    221.       wsize = OPENSSL_malloc(totalnum * sizeof wsize[0]);

crypto/ec/ec_mult.c:125:1: <Length trace>
123.    * in the addition if scalar != NULL
124.    */
125. > int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
126.                   size_t num, const EC_POINT *points[], const BIGNUM *scalars[],
127.                   BN_CTX *ctx)

crypto/ec/ec_mult.c:125:1: Parameter `num`
    123.    * in the addition if scalar != NULL
    124.    */
    125. > int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
    126.                   size_t num, const EC_POINT *points[], const BIGNUM *scalars[],
    127.                   BN_CTX *ctx)

crypto/ec/ec_mult.c:219:5: Assignment
    217.       }
    218.   
    219.       totalnum = num + numblocks;
               ^
    220.   
    221.       wsize = OPENSSL_malloc(totalnum * sizeof wsize[0]);

crypto/ec/ec_mult.c:222:16: Call
    220.   
    221.       wsize = OPENSSL_malloc(totalnum * sizeof wsize[0]);
    222.       wNAF_len = OPENSSL_malloc(totalnum * sizeof wNAF_len[0]);
                          ^
    223.       wNAF = OPENSSL_malloc((totalnum + 1) * sizeof wNAF[0]); /* includes space
    224.                                                                * for pivot */

crypto/mem.c:165:9: Assignment
      163.   
      164.       if (num <= 0)
      165.           return NULL;
                     ^
      166.   
      167.       FAILTEST();

crypto/ec/ec_mult.c:222:5: Assignment
    220.   
    221.       wsize = OPENSSL_malloc(totalnum * sizeof wsize[0]);
    222.       wNAF_len = OPENSSL_malloc(totalnum * sizeof wNAF_len[0]);
               ^
    223.       wNAF = OPENSSL_malloc((totalnum + 1) * sizeof wNAF[0]); /* includes space
    224.                                                                * for pivot */

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