From 2d789604b8ea07141b1af09dd65b5e56f23022d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodo=20M=C3=B6ller?= Date: Fri, 21 Jul 2000 15:07:56 +0000 Subject: Bugfix: use write locks, not just read locks --- crypto/err/err.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'crypto/err') diff --git a/crypto/err/err.c b/crypto/err/err.c index 9557761f41..ad062a9022 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -558,7 +558,7 @@ const char *ERR_lib_error_string(unsigned long e) l=ERR_GET_LIB(e); - CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH); if (error_hash != NULL) { @@ -566,7 +566,7 @@ const char *ERR_lib_error_string(unsigned long e) p=(ERR_STRING_DATA *)lh_retrieve(error_hash,&d); } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH); return((p == NULL)?NULL:p->string); } @@ -579,7 +579,7 @@ const char *ERR_func_error_string(unsigned long e) l=ERR_GET_LIB(e); f=ERR_GET_FUNC(e); - CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH); if (error_hash != NULL) { @@ -587,7 +587,7 @@ const char *ERR_func_error_string(unsigned long e) p=(ERR_STRING_DATA *)lh_retrieve(error_hash,&d); } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH); return((p == NULL)?NULL:p->string); } @@ -600,7 +600,7 @@ const char *ERR_reason_error_string(unsigned long e) l=ERR_GET_LIB(e); r=ERR_GET_REASON(e); - CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH); if (error_hash != NULL) { @@ -613,7 +613,7 @@ const char *ERR_reason_error_string(unsigned long e) } } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH); return((p == NULL)?NULL:p->string); } @@ -674,13 +674,13 @@ ERR_STATE *ERR_get_state(void) pid=(unsigned long)CRYPTO_thread_id(); - CRYPTO_r_lock(CRYPTO_LOCK_ERR); + CRYPTO_w_lock(CRYPTO_LOCK_ERR); if (thread_hash != NULL) { tmp.pid=pid; ret=(ERR_STATE *)lh_retrieve(thread_hash,&tmp); } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR); /* ret == the error state, if NULL, make a new one */ if (ret == NULL) -- cgit v1.2.3