diff options
author | Bodo Möller <bodo@openssl.org> | 2001-07-24 12:31:14 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 2001-07-24 12:31:14 +0000 |
commit | badb910f3c88b8a3721f818098cab02ea03dd4b8 (patch) | |
tree | 7da91ab6c40c6e867ef5e7d8503e7d9d1c594ed3 /crypto | |
parent | 3866752e7e0d1d5e15ad4b34e5dd586ac1158a22 (diff) |
Avoid race condition.
Submitted by: Travis Vitek <vitek@roguewave.com>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/rand/md_rand.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/crypto/rand/md_rand.c b/crypto/rand/md_rand.c index 9fc98eb099..2a56ace4ee 100644 --- a/crypto/rand/md_rand.c +++ b/crypto/rand/md_rand.c @@ -361,8 +361,8 @@ static int ssleay_rand_bytes(unsigned char *buf, int num) CRYPTO_w_lock(CRYPTO_LOCK_RAND); /* prevent ssleay_rand_bytes() from trying to obtain the lock again */ - crypto_lock_rand = 1; locking_thread = CRYPTO_thread_id(); + crypto_lock_rand = 1; if (!initialized) { @@ -435,7 +435,6 @@ static int ssleay_rand_bytes(unsigned char *buf, int num) /* before unlocking, we must clear 'crypto_lock_rand' */ crypto_lock_rand = 0; - locking_thread = 0; CRYPTO_w_unlock(CRYPTO_LOCK_RAND); while (num > 0) @@ -528,8 +527,8 @@ static int ssleay_rand_status(void) CRYPTO_w_lock(CRYPTO_LOCK_RAND); /* prevent ssleay_rand_bytes() from trying to obtain the lock again */ - crypto_lock_rand = 1; locking_thread = CRYPTO_thread_id(); + crypto_lock_rand = 1; } if (!initialized) @@ -544,7 +543,6 @@ static int ssleay_rand_status(void) { /* before unlocking, we must clear 'crypto_lock_rand' */ crypto_lock_rand = 0; - locking_thread = 0; CRYPTO_w_unlock(CRYPTO_LOCK_RAND); } |