From: Dmitry Belyavskiy Date: Sat, 18 Feb 2017 17:43:01 +0000 (+0300) Subject: Fix memory leak in pkcs12 -export X-Git-Tag: OpenSSL_1_0_2l~82 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=13fc6b6650c43e58f23aa32cfcc9bf0ace8fb51e;p=oweals%2Fopenssl.git Fix memory leak in pkcs12 -export Reviewed-by: Andy Polyakov Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2676) (cherry picked from commit 1b8f19379a521ec11ce37e12316dd3edc0acfb82) --- diff --git a/crypto/pkcs12/p12_mutl.c b/crypto/pkcs12/p12_mutl.c index cbf34da05a..b1f7381a6f 100644 --- a/crypto/pkcs12/p12_mutl.c +++ b/crypto/pkcs12/p12_mutl.c @@ -159,7 +159,10 @@ int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int saltlen, const EVP_MD *md_type) { - if (!(p12->mac = PKCS12_MAC_DATA_new())) + PKCS12_MAC_DATA_free(p12->mac); + p12->mac = NULL; + + if ((p12->mac = PKCS12_MAC_DATA_new()) == NULL) return PKCS12_ERROR; if (iter > 1) { if (!(p12->mac->iter = M_ASN1_INTEGER_new())) {