crypto/ec/ec_lib.c:967: error: BUFFER_OVERRUN_L3
  Offset: [0, 1] Size: [0, +oo] by call to `EC_POINTs_mul`.
Showing all 13 steps of the trace


crypto/ec/ec_lib.c:968:27: Assignment
966.   
967.       return EC_POINTs_mul(group, r, g_scalar,
968.                            (point != NULL
                                 ^
969.                             && p_scalar != NULL), points, scalars, ctx);
970.   }

crypto/ec/ec_lib.c:967:12: Call
965.       scalars[0] = p_scalar;
966.   
967.       return EC_POINTs_mul(group, r, g_scalar,
                  ^
968.                            (point != NULL
969.                             && p_scalar != NULL), points, scalars, 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: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:512:13: Call
    510.       totalnum = num + numblocks;
    511.   
    512.       wsize = OPENSSL_malloc(totalnum * sizeof(wsize[0]));
                       ^
    513.       wNAF_len = OPENSSL_malloc(totalnum * sizeof(wNAF_len[0]));
    514.       /* include space for pivot */

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

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

crypto/ec/ec_mult.c:536:9: Array access: Offset: [0, 1] Size: [0, +oo] by call to `EC_POINTs_mul` 
    534.   
    535.           bits = i < num ? BN_num_bits(scalars[i]) : BN_num_bits(scalar);
    536.           wsize[i] = EC_window_bits_for_scalar_size(bits);
                   ^
    537.           num_val += (size_t)1 << (wsize[i] - 1);
    538.           wNAF[i + 1] = NULL;     /* make sure we always have a pivot */
