From: David Ramos Date: Sat, 3 May 2014 10:00:27 +0000 (+0200) Subject: Double free in i2o_ECPublicKey X-Git-Tag: OpenSSL_1_0_0m~49 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7cdbce53f15a424c2ae017876539b40dc9a3fe6f;p=oweals%2Fopenssl.git Double free in i2o_ECPublicKey PR: 3338 --- diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c index ae55539859..0fb5c14076 100644 --- a/crypto/ec/ec_asn1.c +++ b/crypto/ec/ec_asn1.c @@ -1419,8 +1419,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)