summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2002-12-11 08:56:35 +0000
committerRichard Levitte <levitte@openssl.org>2002-12-11 08:56:35 +0000
commitb9b6e14b4aa61a97d0a459968733cf3d6f9e1e23 (patch)
treef3bbb0eac1fa842ba957c1a648481000b689e76f
parent442d42300b754f1aea6f2d903e548bb42bda7649 (diff)
In CRYPTO_lock(), check that the application cares about locking (provided
callbacks) before attempting to lock.
-rw-r--r--crypto/cryptlib.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index 830ccc9816..fb3e93fe27 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -472,17 +472,17 @@ void CRYPTO_lock(int mode, int type, const char *file, int line)
#endif
if (type < 0)
{
- struct CRYPTO_dynlock_value *pointer
- = CRYPTO_get_dynlock_value(type);
+ if (dynlock_lock_callback != NULL)
+ {
+ struct CRYPTO_dynlock_value *pointer
+ = CRYPTO_get_dynlock_value(type);
- OPENSSL_assert(pointer != NULL);
+ OPENSSL_assert(pointer != NULL);
- if (dynlock_lock_callback)
- {
dynlock_lock_callback(mode, pointer, file, line);
- }
- CRYPTO_destroy_dynlockid(type);
+ CRYPTO_destroy_dynlockid(type);
+ }
}
else
if (locking_callback != NULL)