]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Move ossl_deinit_casecmp to the end of OPENSSL_cleanup()
authorMathias Berchtold <mberchtold@gmail.com>
Sat, 23 Apr 2022 00:26:18 +0000 (19:26 -0500)
committerTomas Mraz <tomas@openssl.org>
Tue, 26 Apr 2022 14:44:42 +0000 (16:44 +0200)
Calls like evp_cleanup_int() depend on OPENSSL_strcasecmp().

Fixes https://github.com/openssl/openssl/issues/18160

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18161)

crypto/init.c

index d859bd42c62d7425b75d2f2d90f41b9d9f878cb3..41cd30eeff8d532dc344f66f2e0879b2de895b80 100644 (file)
@@ -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;
 }