diff options
Diffstat (limited to 'crypto/init.c')
-rw-r--r-- | crypto/init.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/init.c b/crypto/init.c index 50aec32c3d..3b6a16a76d 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -586,7 +586,8 @@ int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings) if (settings == NULL) { ret = RUN_ONCE(&config, ossl_init_config); } else { - CRYPTO_THREAD_write_lock(init_lock); + if (!CRYPTO_THREAD_write_lock(init_lock)) + return 0; conf_settings = settings; ret = RUN_ONCE_ALT(&config, ossl_init_config_settings, ossl_init_config); |