diff options
author | Bodo Möller <bodo@openssl.org> | 2000-03-30 06:11:54 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 2000-03-30 06:11:54 +0000 |
commit | b841e0acd856b3ab72b34f89d282b402d10b967f (patch) | |
tree | 11089f934422bdc88124763e1c4f28884bbaa345 /crypto/rand | |
parent | 35af460fef9b8bca5b358661bbfe12c60cdc7bfa (diff) | |
download | openssl-b841e0acd856b3ab72b34f89d282b402d10b967f.zip openssl-b841e0acd856b3ab72b34f89d282b402d10b967f.tar.gz openssl-b841e0acd856b3ab72b34f89d282b402d10b967f.tar.bz2 |
'entropy >= ENTROPY_NEEDED' should be evaluated while the
variables are locked.
Diffstat (limited to 'crypto/rand')
-rw-r--r-- | crypto/rand/md_rand.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crypto/rand/md_rand.c b/crypto/rand/md_rand.c index 79e3484..da4258c 100644 --- a/crypto/rand/md_rand.c +++ b/crypto/rand/md_rand.c @@ -559,14 +559,17 @@ static int ssleay_rand_pseudo_bytes(unsigned char *buf, int num) static int ssleay_rand_status(void) { + int ret; + CRYPTO_w_lock(CRYPTO_LOCK_RAND); if (!initialized) ssleay_rand_initialize(); + ret = entropy >= ENTROPY_NEEDED; CRYPTO_w_unlock(CRYPTO_LOCK_RAND); - return (entropy >= ENTROPY_NEEDED); + return ret; } #ifdef WINDOWS |