diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index f924e1029f..29f92cf7c7 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -604,6 +604,7 @@ static int addrinfo_wrap(int family, int socktype, DEFINE_RUN_ONCE_STATIC(do_bio_lookup_init) { + OPENSSL_init_crypto(0, NULL); 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 67d755a2aa..28de21d73d 100644 --- a/crypto/engine/eng_lib.c +++ b/crypto/engine/eng_lib.c @@ -18,6 +18,7 @@ CRYPTO_ONCE engine_lock_init = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE(do_engine_lock_init) { + OPENSSL_init_crypto(0, NULL); 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 584bb9e10d..c3f7212a78 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -251,6 +251,7 @@ static void ERR_STATE_free(ERR_STATE *s) DEFINE_RUN_ONCE_STATIC(do_err_strings_init) { + OPENSSL_init_crypto(0, NULL); err_string_lock = CRYPTO_THREAD_lock_new(); return err_string_lock != NULL; } diff --git a/crypto/ex_data.c b/crypto/ex_data.c index 986ef70bc4..bb1af0b3b1 100644 --- a/crypto/ex_data.c +++ b/crypto/ex_data.c @@ -38,6 +38,7 @@ static CRYPTO_ONCE ex_data_init = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(do_ex_data_init) { + OPENSSL_init_crypto(0, NULL); ex_data_lock = CRYPTO_THREAD_lock_new(); return ex_data_lock != NULL; } diff --git a/crypto/rand/md_rand.c b/crypto/rand/md_rand.c index 7924478e9e..85ce4e6f98 100644 --- a/crypto/rand/md_rand.c +++ b/crypto/rand/md_rand.c @@ -89,6 +89,7 @@ static RAND_METHOD rand_meth = { DEFINE_RUN_ONCE_STATIC(do_rand_lock_init) { + OPENSSL_init_crypto(0, NULL); rand_lock = CRYPTO_THREAD_lock_new(); rand_tmp_lock = CRYPTO_THREAD_lock_new(); return rand_lock != NULL && rand_tmp_lock != NULL;