summaryrefslogtreecommitdiffstats
path: root/test/evp_test.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2019-06-28 15:06:55 +0100
committerMatt Caswell <matt@openssl.org>2019-07-01 10:30:49 +0100
commit19ea6b2b375b15919f9f5f523d1312398315017f (patch)
tree939cdd67cee05b586f7a4f8acf2bae876ab7127e /test/evp_test.c
parent9a131ad7477f85d40ee96853e60d0de86f5f4e09 (diff)
Fix a leak in evp_test
If evp_test fails to load the legacy provider then it leaks a reference to the default provider. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9270)
Diffstat (limited to 'test/evp_test.c')
-rw-r--r--test/evp_test.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/test/evp_test.c b/test/evp_test.c
index 6fc9f03797..b70b4ea600 100644
--- a/test/evp_test.c
+++ b/test/evp_test.c
@@ -3096,8 +3096,10 @@ int setup_tests(void)
return 0;
#ifndef NO_LEGACY_MODULE
legacyprov = OSSL_PROVIDER_load(NULL, "legacy");
- if (!TEST_ptr(legacyprov))
+ if (!TEST_ptr(legacyprov)) {
+ OSSL_PROVIDER_unload(defltprov);
return 0;
+ }
#endif /* NO_LEGACY_MODULE */
ADD_ALL_TESTS(run_file_tests, n);