From ca982e48707905f82fa74a6de2eaef46115f949a Mon Sep 17 00:00:00 2001 From: Geoff Thorpe Date: Tue, 4 May 2004 20:08:55 +0000 Subject: [PATCH] Fix realloc usage in ec_curve.c Submitted by: Nils Larsch Reviewed by: Geoff Thorpe --- crypto/ec/ec_asn1.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c index 6e3a02ab86..bfb6f3c9cc 100644 --- a/crypto/ec/ec_asn1.c +++ b/crypto/ec/ec_asn1.c @@ -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)) { -- 2.25.1