From: Tomas Mraz Date: Tue, 6 Dec 2022 09:52:47 +0000 (+0100) Subject: Workaround crash in atexit on NonStop platforms X-Git-Tag: openssl-3.2.0-alpha1~1356 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bb55680e46c868b0aa09682c2bef954231841b5;p=thirdparty%2Fopenssl.git Workaround crash in atexit on NonStop platforms We cannot dynamically load the legacy provider into an application that is linked statically to libcrypto as this causes a double loading of libcrypto (one static and one dynamic) and on NonStop this leads to a segfault in atexit(). Fixes #17537 Reviewed-by: Hugo Landau Reviewed-by: Tim Hudson Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/19844) --- diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c index 7f82a0cdf2b..9230e7b9950 100644 --- a/test/evp_extra_test.c +++ b/test/evp_extra_test.c @@ -4731,7 +4731,9 @@ int setup_tests(void) /* Swap the libctx to test non-default context only */ nullprov = OSSL_PROVIDER_load(NULL, "null"); deflprov = OSSL_PROVIDER_load(testctx, "default"); +#ifndef OPENSSL_SYS_TANDEM lgcyprov = OSSL_PROVIDER_load(testctx, "legacy"); +#endif break; case OPT_TEST_CASES: break; @@ -4863,6 +4865,8 @@ void cleanup_tests(void) { OSSL_PROVIDER_unload(nullprov); OSSL_PROVIDER_unload(deflprov); +#ifndef OPENSSL_SYS_TANDEM OSSL_PROVIDER_unload(lgcyprov); +#endif OSSL_LIB_CTX_free(testctx); }