summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2025-11-03 14:29:50 +0000
committertb <>2025-11-03 14:29:50 +0000
commitd787c292196f9476b2c3d608a900d8b1f334c13a (patch)
tree83efddcf3596f27282282e2b84e120eb2d444c04 /src
parent9526f78f99c5585a0ce13e1b7e16523bfa2912e3 (diff)
downloadopenbsd-d787c292196f9476b2c3d608a900d8b1f334c13a.tar.gz
openbsd-d787c292196f9476b2c3d608a900d8b1f334c13a.tar.bz2
openbsd-d787c292196f9476b2c3d608a900d8b1f334c13a.zip
Plug memeory leak in CMS_EncryptedData_encrypt()
If CMS_EncryptedData_set1_key() fails, cms is leaked. From Niels Dossche
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/cms/cms_smime.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libcrypto/cms/cms_smime.c b/src/lib/libcrypto/cms/cms_smime.c
index 85a0e6f6e5..a8ddf7c67c 100644
--- a/src/lib/libcrypto/cms/cms_smime.c
+++ b/src/lib/libcrypto/cms/cms_smime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cms_smime.c,v 1.29 2025/05/10 05:54:38 tb Exp $ */ 1/* $OpenBSD: cms_smime.c,v 1.30 2025/11/03 14:29:50 tb Exp $ */
2/* 2/*
3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
4 * project. 4 * project.
@@ -286,8 +286,10 @@ CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher,
286 cms = CMS_ContentInfo_new(); 286 cms = CMS_ContentInfo_new();
287 if (cms == NULL) 287 if (cms == NULL)
288 return NULL; 288 return NULL;
289 if (!CMS_EncryptedData_set1_key(cms, cipher, key, keylen)) 289 if (!CMS_EncryptedData_set1_key(cms, cipher, key, keylen)) {
290 CMS_ContentInfo_free(cms);
290 return NULL; 291 return NULL;
292 }
291 293
292 if (!(flags & CMS_DETACHED)) 294 if (!(flags & CMS_DETACHED))
293 CMS_set_detached(cms, 0); 295 CMS_set_detached(cms, 0);