]> granicus.if.org Git - openssl/commitdiff
fixes submitted by Andy Schneider <andy.schneider@bjss.co.uk>
authorBodo Möller <bodo@openssl.org>
Fri, 23 Nov 2001 20:56:27 +0000 (20:56 +0000)
committerBodo Möller <bodo@openssl.org>
Fri, 23 Nov 2001 20:56:27 +0000 (20:56 +0000)
CHANGES
crypto/cryptlib.c
crypto/engine/hw_ncipher.c

diff --git a/CHANGES b/CHANGES
index 3bb27d023d5ce7bbead0bf4416340d4a5fc7f0e8..05ee0cb142a9e9a745a1962e713b2bf64b7f655f 100644 (file)
--- 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 <andy.schneider@bjss.co.uk>]
+
+  *) [In 0.9.6c-engine release:]
+     Fix mutex callback return values in crypto/engine/hw_ncipher.c.
+     [Andy Schneider <andy.schneider@bjss.co.uk>]
+
   *) [In 0.9.6c-engine release:]
      Add support for Cryptographic Appliance's keyserver technology.
      (Use engine 'keyclient')
index 5231f712bfc8eb527339ccba07dd30f477f62aa3..821b16adaeb9db2b5aad231365128340966eb593 100644 (file)
@@ -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)
                {
index 41f5900676a50041cdca841308abd32bcd35abed..b947e8d177a897ef703d117194e6d89f1e02cce3 100644 (file)
@@ -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)