Fix realloc usage in ec_curve.c

Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
This commit is contained in:
Geoff Thorpe 2004-05-04 20:08:55 +00:00
parent d5f686d808
commit ca982e4870

View file

@ -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))
{