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)
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)