crypto\cms\cms_kem.c: Add ASN1_TYPE_free when EVP_CIPHER_param_to_asn1() fails

Signed-off-by: Nachel72 <Nachel72@outlook.com>

CLA: trivial

Reviewed-by: Hugo Landau <hlandau@devever.net>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/28210)
This commit is contained in:
Nachel72 2025-08-08 19:40:46 +08:00 committed by Todd Short
parent fc84d46d72
commit fb295aa65c
1 changed files with 4 additions and 1 deletions

View File

@ -135,8 +135,11 @@ static int kem_cms_encrypt(CMS_RecipientInfo *ri)
wrap->parameter = ASN1_TYPE_new(); wrap->parameter = ASN1_TYPE_new();
if (wrap->parameter == NULL) if (wrap->parameter == NULL)
goto err; goto err;
if (EVP_CIPHER_param_to_asn1(kekctx, wrap->parameter) <= 0) if (EVP_CIPHER_param_to_asn1(kekctx, wrap->parameter) <= 0) {
ASN1_TYPE_free(wrap->parameter);
wrap->parameter = NULL;
goto err; goto err;
}
if (ASN1_TYPE_get(wrap->parameter) == NID_undef) { if (ASN1_TYPE_get(wrap->parameter) == NID_undef) {
ASN1_TYPE_free(wrap->parameter); ASN1_TYPE_free(wrap->parameter);
wrap->parameter = NULL; wrap->parameter = NULL;