From 1d64b068ca74b68394c96fd2e3020235d32928f2 Mon Sep 17 00:00:00 2001 From: Mathias Berchtold Date: Fri, 22 Apr 2022 19:26:18 -0500 Subject: [PATCH] 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) --- crypto/init.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crypto/init.c b/crypto/init.c index d859bd42c6..41cd30eeff 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; } -- 2.39.5