From: Jiasheng Jiang Date: Tue, 6 Aug 2024 18:42:06 +0000 (+0000) Subject: test/provider_fallback_test.c: Add OSSL_PROVIDER_unload() to avoid memory leak X-Git-Tag: openssl-3.1.7~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5733b2518aad41a42df73376a024b9f866a569f;p=thirdparty%2Fopenssl.git test/provider_fallback_test.c: Add OSSL_PROVIDER_unload() to avoid memory leak Add OSSL_PROVIDER_unload() when test_provider() fails to avoid memory leak. Fixes: f995e5bdcd ("TEST: Add provider_fallback_test, to test aspects of fallback providers") Signed-off-by: Jiasheng Jiang Reviewed-by: Shane Lontis Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/25108) (cherry picked from commit 6e8a1031ed11af9645769f9e019db9f032a220b8) --- diff --git a/test/provider_fallback_test.c b/test/provider_fallback_test.c index 5902f57c85e..f5c1ec52c66 100644 --- a/test/provider_fallback_test.c +++ b/test/provider_fallback_test.c @@ -39,9 +39,15 @@ static int test_explicit_provider(void) int ok; ok = TEST_ptr(ctx = OSSL_LIB_CTX_new()) - && TEST_ptr(prov = OSSL_PROVIDER_load(ctx, "default")) - && test_provider(ctx) - && TEST_true(OSSL_PROVIDER_unload(prov)); + && TEST_ptr(prov = OSSL_PROVIDER_load(ctx, "default")); + + if (ok) { + ok = test_provider(ctx); + if (ok) + ok = TEST_true(OSSL_PROVIDER_unload(prov)); + else + OSSL_PROVIDER_unload(prov); + } OSSL_LIB_CTX_free(ctx); return ok;