From e34af3ec2b1230a8a523d383f7de505f7cbd381d Mon Sep 17 00:00:00 2001 From: David Ramos Date: Sat, 3 May 2014 12:00:27 +0200 Subject: [PATCH] Double free in i2o_ECPublicKey PR: 3338 --- crypto/ec/ec_asn1.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c index 145807b611..e94f34e11b 100644 --- a/crypto/ec/ec_asn1.c +++ b/crypto/ec/ec_asn1.c @@ -1435,8 +1435,11 @@ int i2o_ECPublicKey(EC_KEY *a, unsigned char **out) *out, buf_len, NULL)) { ECerr(EC_F_I2O_ECPUBLICKEY, ERR_R_EC_LIB); - OPENSSL_free(*out); - *out = NULL; + if (new_buffer) + { + OPENSSL_free(*out); + *out = NULL; + } return 0; } if (!new_buffer)