From 13fc6b6650c43e58f23aa32cfcc9bf0ace8fb51e Mon Sep 17 00:00:00 2001 From: Dmitry Belyavskiy Date: Sat, 18 Feb 2017 20:43:01 +0300 Subject: [PATCH] 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) --- crypto/pkcs12/p12_mutl.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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())) { -- 2.25.1