summaryrefslogtreecommitdiff
path: root/crypto/pkcs7
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-04-18 10:35:34 +0100
committerMatt Caswell <matt@openssl.org>2016-04-18 14:59:23 +0100
commit36c6f0ad0f1464d47493309c24e2275af7f09c1e (patch)
tree23eb9a503bda128828969591cf3be738032515d7 /crypto/pkcs7
parent14f051a0ae3d752c50f419d3583e85fdf4c5bfc9 (diff)
downloadopenssl-new-36c6f0ad0f1464d47493309c24e2275af7f09c1e.tar.gz
Fix PKCS7 memory leak
Commit f0e0fd51f was a bit over-zealous in removing a call to X509_STORE_CTX_cleanup(). The call in question was in a loop and was required to cleanup resources used on each iteration of the loop. Removing this resulted in a memory leak. Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto/pkcs7')
-rw-r--r--crypto/pkcs7/pk7_smime.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c
index b146f68137..7c2d5c9895 100644
--- a/crypto/pkcs7/pk7_smime.c
+++ b/crypto/pkcs7/pk7_smime.c
@@ -328,6 +328,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
i = X509_verify_cert(cert_ctx);
if (i <= 0)
j = X509_STORE_CTX_get_error(cert_ctx);
+ X509_STORE_CTX_cleanup(cert_ctx);
if (i <= 0) {
PKCS7err(PKCS7_F_PKCS7_VERIFY,
PKCS7_R_CERTIFICATE_VERIFY_ERROR);