diff options
author | Richard Levitte <levitte@openssl.org> | 2017-04-07 16:26:10 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-04-07 16:33:39 +0200 |
commit | 2f881d2d9065342454fe352eac9e835cefa0ba90 (patch) | |
tree | cacff49702cb6eae92dce1fef43fba9e0a4ad16a | |
parent | a273157a3e10930b52b30e0ee39552eaf2a56e17 (diff) | |
download | openssl-2f881d2d9065342454fe352eac9e835cefa0ba90.tar.gz |
Fix rand_lib.c for no-engine configuration
When configured no-engine, we still refered to rand_engine_lock.
Rework the lock init code to avoid that.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3145)
-rw-r--r-- | crypto/rand/rand_lib.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index dc629022c3..40e2464a82 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -26,11 +26,14 @@ static CRYPTO_ONCE rand_lock_init = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(do_rand_lock_init) { + int ret = 1; #ifndef OPENSSL_NO_ENGINE rand_engine_lock = CRYPTO_THREAD_lock_new(); + ret &= rand_engine_lock != NULL; #endif rand_meth_lock = CRYPTO_THREAD_lock_new(); - return rand_engine_lock != NULL && rand_meth_lock != NULL; + ret &= rand_meth_lock != NULL; + return ret; } int RAND_set_rand_method(const RAND_METHOD *meth) |