summaryrefslogtreecommitdiff
path: root/crypto/engine
diff options
context:
space:
mode:
authorBernd Edlinger <bernd.edlinger@hotmail.de>2018-04-20 15:45:06 +0200
committerBernd Edlinger <bernd.edlinger@hotmail.de>2018-04-20 15:45:06 +0200
commiteb2b9892065cf5b69400b98ca82e4e99a525eb29 (patch)
tree0185f809739e7ffbde0ee7d477f749fd34a541ce /crypto/engine
parente1c0348cc728cb37003ae411879bd23b6a84fcc8 (diff)
downloadopenssl-new-eb2b9892065cf5b69400b98ca82e4e99a525eb29.tar.gz
Ensure the thread keys are always allocated in the same order
Fixes: #5899 Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5911)
Diffstat (limited to 'crypto/engine')
-rw-r--r--crypto/engine/eng_lib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/engine/eng_lib.c b/crypto/engine/eng_lib.c
index f5031d3eb7..95736eda6a 100644
--- a/crypto/engine/eng_lib.c
+++ b/crypto/engine/eng_lib.c
@@ -20,7 +20,8 @@ CRYPTO_ONCE engine_lock_init = CRYPTO_ONCE_STATIC_INIT;
DEFINE_RUN_ONCE(do_engine_lock_init)
{
- OPENSSL_init_crypto(0, NULL);
+ if (!OPENSSL_init_crypto(0, NULL))
+ return 0;
global_engine_lock = CRYPTO_THREAD_lock_new();
return global_engine_lock != NULL;
}