From: Bodo Möller Date: Fri, 23 Nov 2001 20:58:40 +0000 (+0000) Subject: fix submitted by Andy Schneider X-Git-Tag: OpenSSL-engine-0_9_6c^2^2~172 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=883b0c2274872570cf7023d7567b1b963e2d039d fix submitted by Andy Schneider (in main branch, hn_ncipher.c is already correct) --- diff --git a/CHANGES b/CHANGES index 5d785a03e2..f4d70fe867 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,14 @@ *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 +) applies to 0.9.7 only + *) Release CRYPTO_LOCK_DYNLOCK when CRYPTO_destroy_dynlockid() + returns early because it has nothing to do. + [Andy Schneider ] + + *) [In 0.9.6c-engine and 0.9.7 release:] + Fix mutex callback return values in crypto/engine/hw_ncipher.c. + [Andy Schneider ] + *) Add a configuration entry for OS/390 Unix. The C compiler 'c89' is called via tools/c89.sh because arguments have to be rearranged (all '-L' options must appear before the first object diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c index 4eb584c90a..2f62fd77c6 100644 --- a/crypto/cryptlib.c +++ b/crypto/cryptlib.c @@ -230,7 +230,10 @@ void CRYPTO_destroy_dynlockid(int i) CRYPTO_w_lock(CRYPTO_LOCK_DYNLOCK); if (dyn_locks == NULL || i >= sk_CRYPTO_dynlock_num(dyn_locks)) + { + CRYPTO_w_lock(CRYPTO_LOCK_DYNLOCK); return; + } pointer = sk_CRYPTO_dynlock_value(dyn_locks, i); if (pointer != NULL) { diff --git a/crypto/engine/hw_ncipher.c b/crypto/engine/hw_ncipher.c index da52912462..39cf7f56dc 100644 --- a/crypto/engine/hw_ncipher.c +++ b/crypto/engine/hw_ncipher.c @@ -1204,8 +1204,8 @@ static int hwcrhk_mutex_init(HWCryptoHook_Mutex* mt, { mt->lockid = CRYPTO_get_new_dynlockid(); if (mt->lockid == 0) - return -1; - return 0; + return 1; /* failure */ + return 0; /* success */ } static int hwcrhk_mutex_lock(HWCryptoHook_Mutex *mt)