diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index 841cc58100..635f84e183 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -616,8 +616,6 @@ static int addrinfo_wrap(int family, int socktype, DEFINE_RUN_ONCE_STATIC(do_bio_lookup_init) { - if (!OPENSSL_init_crypto(0, NULL)) - return 0; bio_lookup_lock = CRYPTO_THREAD_lock_new(); return bio_lookup_lock != NULL; } diff --git a/crypto/engine/eng_lib.c b/crypto/engine/eng_lib.c index 72e463a899..4a01104462 100644 --- a/crypto/engine/eng_lib.c +++ b/crypto/engine/eng_lib.c @@ -20,8 +20,6 @@ CRYPTO_ONCE engine_lock_init = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE(do_engine_lock_init) { - if (!OPENSSL_init_crypto(0, NULL)) - return 0; global_engine_lock = CRYPTO_THREAD_lock_new(); return global_engine_lock != NULL; } diff --git a/crypto/err/err.c b/crypto/err/err.c index e5f9866813..a8bde92674 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -197,7 +197,7 @@ static void ERR_STATE_free(ERR_STATE *s) DEFINE_RUN_ONCE_STATIC(do_err_strings_init) { - if (!OPENSSL_init_crypto(0, NULL)) + if (!OPENSSL_init_crypto(OPENSSL_INIT_BASE_ONLY, NULL)) return 0; err_string_lock = CRYPTO_THREAD_lock_new(); if (err_string_lock == NULL) diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 0ee57dc460..e248d5753a 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -429,7 +429,7 @@ static void *rand_ossl_ctx_new(OSSL_LIB_CTX *libctx) * We need to ensure that base libcrypto thread handling has been * initialised. */ - OPENSSL_init_crypto(0, NULL); + OPENSSL_init_crypto(OPENSSL_INIT_BASE_ONLY, NULL); #endif dgbl->lock = CRYPTO_THREAD_lock_new(); diff --git a/crypto/store/store_init.c b/crypto/store/store_init.c index d308dc5d0b..dc507c6751 100644 --- a/crypto/store/store_init.c +++ b/crypto/store/store_init.c @@ -7,25 +7,9 @@ * https://www.openssl.org/source/license.html */ -#include #include "crypto/store.h" #include "store_local.h" -static CRYPTO_ONCE store_init = CRYPTO_ONCE_STATIC_INIT; -DEFINE_RUN_ONCE_STATIC(do_store_init) -{ - return OPENSSL_init_crypto(0, NULL); -} - -int ossl_store_init_once(void) -{ - if (!RUN_ONCE(&store_init, do_store_init)) { - ERR_raise(ERR_LIB_OSSL_STORE, ERR_R_MALLOC_FAILURE); - return 0; - } - return 1; -} - void ossl_store_cleanup_int(void) { ossl_store_destroy_loaders_int(); diff --git a/crypto/store/store_local.h b/crypto/store/store_local.h index 56a90a125b..16989707d6 100644 --- a/crypto/store/store_local.h +++ b/crypto/store/store_local.h @@ -152,13 +152,6 @@ struct ossl_store_ctx_st { struct ossl_passphrase_data_st pwdata; }; -/*- - * OSSL_STORE init stuff - * --------------------- - */ - -int ossl_store_init_once(void); - /*- * 'file' scheme stuff * ------------------- diff --git a/crypto/store/store_register.c b/crypto/store/store_register.c index f426a82ecc..51bd591790 100644 --- a/crypto/store/store_register.c +++ b/crypto/store/store_register.c @@ -207,8 +207,6 @@ int ossl_store_register_loader_int(OSSL_STORE_LOADER *loader) } int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader) { - if (!ossl_store_init_once()) - return 0; return ossl_store_register_loader_int(loader); } @@ -224,9 +222,6 @@ const OSSL_STORE_LOADER *ossl_store_get0_loader_int(const char *scheme) template.close = NULL; template.open_ex = NULL; - if (!ossl_store_init_once()) - return NULL; - if (!RUN_ONCE(®istry_init, do_registry_init)) { ERR_raise(ERR_LIB_OSSL_STORE, ERR_R_MALLOC_FAILURE); return NULL; @@ -275,8 +270,6 @@ OSSL_STORE_LOADER *ossl_store_unregister_loader_int(const char *scheme) } OSSL_STORE_LOADER *OSSL_STORE_unregister_loader(const char *scheme) { - if (!ossl_store_init_once()) - return 0; return ossl_store_unregister_loader_int(scheme); }