diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2023-11-17 07:12:42 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2023-11-22 09:33:52 +0100 |
commit | 700371f78466fd3f9c20feea1938dedfbd213138 (patch) | |
tree | bde8f2c6c642f8093586bfcf0517a135615ae56c /crypto | |
parent | 438c137a9d9c8767d9536965206df525477841c8 (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.c | 3 |
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; } |