Fix realloc usage in ec_curve.c
Submitted by: Nils Larsch Reviewed by: Geoff Thorpe
This commit is contained in:
parent
d5f686d808
commit
ca982e4870
1 changed files with 8 additions and 7 deletions
|
@ -1226,16 +1226,17 @@ int i2d_ECPrivateKey(EC_KEY *a, unsigned char **out)
|
|||
a->conv_form, NULL, 0, NULL);
|
||||
|
||||
if (tmp_len > buf_len)
|
||||
buffer = OPENSSL_realloc(buffer, tmp_len);
|
||||
if (buffer == NULL)
|
||||
{
|
||||
ECerr(EC_F_I2D_ECPRIVATEKEY,
|
||||
ERR_R_MALLOC_FAILURE);
|
||||
goto err;
|
||||
unsigned char *tmp_buffer = OPENSSL_realloc(buffer, tmp_len);
|
||||
if (!tmp_buffer)
|
||||
{
|
||||
ECerr(EC_F_I2D_ECPRIVATEKEY, ERR_R_MALLOC_FAILURE);
|
||||
goto err;
|
||||
}
|
||||
buffer = tmp_buffer;
|
||||
buf_len = tmp_len;
|
||||
}
|
||||
|
||||
buf_len = tmp_len;
|
||||
|
||||
if (!EC_POINT_point2oct(a->group, a->pub_key,
|
||||
a->conv_form, buffer, buf_len, NULL))
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue