From: Mathias Berchtold Date: Sat, 23 Apr 2022 00:26:18 +0000 (-0500) Subject: Move ossl_deinit_casecmp to the end of OPENSSL_cleanup() X-Git-Tag: openssl-3.2.0-alpha1~2738 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1d64b068ca74b68394c96fd2e3020235d32928f2;p=thirdparty%2Fopenssl.git Move ossl_deinit_casecmp to the end of OPENSSL_cleanup() Calls like evp_cleanup_int() depend on OPENSSL_strcasecmp(). Fixes https://github.com/openssl/openssl/issues/18160 Reviewed-by: Dmitry Belyavskiy Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/18161) --- diff --git a/crypto/init.c b/crypto/init.c index d859bd42c62..41cd30eeff8 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -397,11 +397,6 @@ void OPENSSL_cleanup(void) async_deinit(); } - if (casecmp_inited) { - OSSL_TRACE(INIT, "OPENSSL_cleanup: ossl_deinit_casecmp()\n"); - ossl_deinit_casecmp(); - } - if (load_crypto_strings_inited) { OSSL_TRACE(INIT, "OPENSSL_cleanup: err_free_strings_int()\n"); err_free_strings_int(); @@ -462,6 +457,11 @@ void OPENSSL_cleanup(void) OSSL_TRACE(INIT, "OPENSSL_cleanup: ossl_trace_cleanup()\n"); ossl_trace_cleanup(); + if (casecmp_inited) { + OSSL_TRACE(INIT, "OPENSSL_cleanup: ossl_deinit_casecmp()\n"); + ossl_deinit_casecmp(); + } + base_inited = 0; }