From: Bodo Möller Date: Fri, 23 Nov 2001 20:56:27 +0000 (+0000) Subject: fixes submitted by Andy Schneider X-Git-Tag: OpenSSL-engine-0_9_6c~15 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dae0b520a094df1fcb2639ab8cf7549e913f01f1;p=openssl fixes submitted by Andy Schneider --- diff --git a/CHANGES b/CHANGES index 3bb27d023d..05ee0cb142 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,14 @@ Changes between 0.9.6b and 0.9.6c [XX xxx XXXX] + *) Release CRYPTO_LOCK_DYNLOCK when CRYPTO_destroy_dynlockid() + returns early because it has nothing to do. + [Andy Schneider ] + + *) [In 0.9.6c-engine release:] + Fix mutex callback return values in crypto/engine/hw_ncipher.c. + [Andy Schneider ] + *) [In 0.9.6c-engine release:] Add support for Cryptographic Appliance's keyserver technology. (Use engine 'keyclient') diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c index 5231f712bf..821b16adae 100644 --- a/crypto/cryptlib.c +++ b/crypto/cryptlib.c @@ -229,7 +229,10 @@ void CRYPTO_destroy_dynlockid(int i) CRYPTO_w_lock(CRYPTO_LOCK_DYNLOCK); if (dyn_locks == NULL || i >= sk_CRYPTO_dynlock_num(dyn_locks)) - return; + { + 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 41f5900676..b947e8d177 100644 --- a/crypto/engine/hw_ncipher.c +++ b/crypto/engine/hw_ncipher.c @@ -939,14 +939,14 @@ static int hwcrhk_mutex_init(HWCryptoHook_Mutex* mt, { mt->lockid = CRYPTO_get_new_dynlockid(); if (mt->lockid == 0) - return 0; - return 1; + return 1; /* failure */ + return 0; /* success */ } static int hwcrhk_mutex_lock(HWCryptoHook_Mutex *mt) { CRYPTO_w_lock(mt->lockid); - return 1; + return 0; } void hwcrhk_mutex_unlock(HWCryptoHook_Mutex * mt)