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:27 +0100 |
commit | 7379e71a698bc296942cf558222853b1a85e2711 (patch) | |
tree | c43a8ab5d0b29f94c666bbf94f188791db251608 /crypto | |
parent | f7531fdadd61b7a5d9b7e0aaa79c7ba97cbded84 (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; } |