summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorBernd Edlinger <bernd.edlinger@hotmail.de>2023-11-17 07:12:42 +0100
committerRichard Levitte <levitte@openssl.org>2023-11-22 09:33:27 +0100
commit7379e71a698bc296942cf558222853b1a85e2711 (patch)
treec43a8ab5d0b29f94c666bbf94f188791db251608 /crypto
parentf7531fdadd61b7a5d9b7e0aaa79c7ba97cbded84 (diff)
Fix a possible memleak in CMS_sign_receipt
When an error happens after cms_encode_Receipt the ASN1_OCTET_STRING object "os" may be leaked. Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22758) (cherry picked from commit 3e3aadd51cae1fbfb512cf4a0999d16c6a2888bd)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/cms/cms_smime.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/cms/cms_smime.c b/crypto/cms/cms_smime.c
index 479038d573..d7719267c8 100644
--- a/crypto/cms/cms_smime.c
+++ b/crypto/cms/cms_smime.c
@@ -558,7 +558,7 @@ CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si,
{
CMS_SignerInfo *rct_si;
CMS_ContentInfo *cms = NULL;
- ASN1_OCTET_STRING **pos, *os;
+ ASN1_OCTET_STRING **pos, *os = NULL;
BIO *rct_cont = NULL;
int r = 0;
const CMS_CTX *ctx = si->cms_ctx;
@@ -620,6 +620,7 @@ CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si,
if (r)
return cms;
CMS_ContentInfo_free(cms);
+ ASN1_OCTET_STRING_free(os);
return NULL;
}