Fix a leak in an error path when duplicating an OSSL_DECODER_CTX.

Make sure we free process_data_dest if it is not actually used.

Found by the reproducible error patch in #21668

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21741)
This commit is contained in:
Matt Caswell 2023-08-15 15:05:38 +01:00 committed by Hugo Landau
parent e4d808652b
commit e16c010308

View file

@ -579,6 +579,7 @@ ossl_decoder_ctx_for_pkey_dup(OSSL_DECODER_CTX *src,
if (process_data_dest != NULL) {
OPENSSL_free(process_data_dest->propq);
sk_EVP_KEYMGMT_pop_free(process_data_dest->keymgmts, EVP_KEYMGMT_free);
OPENSSL_free(process_data_dest);
}
OSSL_DECODER_CTX_free(dest);
return NULL;