Check scalar->d before we use it (in BN_num_bits()). (Coverity ID 129)
This commit is contained in:
parent
9b9cb004f7
commit
57a6ac7c4f
@ -224,6 +224,12 @@ static signed char *compute_wNAF(const BIGNUM *scalar, int w, size_t *ret_len)
|
||||
sign = -1;
|
||||
}
|
||||
|
||||
if (scalar->d == NULL || scalar->top == 0)
|
||||
{
|
||||
ECerr(EC_F_COMPUTE_WNAF, ERR_R_INTERNAL_ERROR);
|
||||
goto err;
|
||||
}
|
||||
|
||||
len = BN_num_bits(scalar);
|
||||
r = OPENSSL_malloc(len + 1); /* modified wNAF may be one digit longer than binary representation
|
||||
* (*ret_len will be set to the actual length, i.e. at most
|
||||
@ -233,12 +239,6 @@ static signed char *compute_wNAF(const BIGNUM *scalar, int w, size_t *ret_len)
|
||||
ECerr(EC_F_COMPUTE_WNAF, ERR_R_MALLOC_FAILURE);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (scalar->d == NULL || scalar->top == 0)
|
||||
{
|
||||
ECerr(EC_F_COMPUTE_WNAF, ERR_R_INTERNAL_ERROR);
|
||||
goto err;
|
||||
}
|
||||
window_val = scalar->d[0] & mask;
|
||||
j = 0;
|
||||
while ((window_val != 0) || (j + w + 1 < len)) /* if j+w+1 >= len, window_val will not increase */
|
||||
|
Loading…
x
Reference in New Issue
Block a user