From 26328e53b042b690acb6bd24b30017b7624406ee Mon Sep 17 00:00:00 2001 From: Ruili Fang Date: Sat, 28 Jan 2023 23:48:24 -0500 Subject: Fix a potential memory leak in crypto/provider_child.c Fix issue #20063. CLA: trivial Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/20163) (cherry picked from commit e788c772b12eea5ced4ce46619e13acf0e0eb6ba) --- crypto/provider_child.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crypto/provider_child.c b/crypto/provider_child.c index b1eadd5b19..176a3a5cb2 100644 --- a/crypto/provider_child.c +++ b/crypto/provider_child.c @@ -135,8 +135,10 @@ static int provider_create_child_cb(const OSSL_CORE_HANDLE *prov, void *cbdata) 1)) == NULL) goto err; - if (!ossl_provider_activate(cprov, 0, 0)) + if (!ossl_provider_activate(cprov, 0, 0)) { + ossl_provider_free(cprov); goto err; + } if (!ossl_provider_set_child(cprov, prov) || !ossl_provider_add_to_store(cprov, NULL, 0)) { -- cgit v1.2.3