From: Yuchi Date: Mon, 6 Feb 2017 00:33:47 +0000 (-0500) Subject: mem leak on error path and error propagation fix X-Git-Tag: OpenSSL_1_0_2l~94 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4fd35d83412946d19da05d4c89f6c2002d5c2e82;p=openssl mem leak on error path and error propagation fix Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/2559) (cherry picked from commit e0670973d5c0b837eb5a9f1670e47107f466fbc7) --- diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index d089af7a28..2c41c6e7a9 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -342,8 +342,10 @@ static int eckey_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) } if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_X9_62_id_ecPublicKey), 0, - ptype, pval, ep, eplen)) + ptype, pval, ep, eplen)) { + OPENSSL_free(ep); return 0; + } return 1; } diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index 2ad8f43922..92b022b7cb 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -2001,7 +2001,7 @@ int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm) if (id < 193 || id > 255) { SSLerr(SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD, SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE); - return 0; + return 1; } MemCheck_off();