From: Richard Levitte Date: Wed, 11 Dec 2002 08:56:42 +0000 (+0000) Subject: In CRYPTO_lock(), check that the application cares about locking (provided X-Git-Tag: OpenSSL_0_9_7-beta6~26 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=712419b73ae6c48f6ad9ce1020a2fd3f52b9bb00;p=oweals%2Fopenssl.git In CRYPTO_lock(), check that the application cares about locking (provided callbacks) before attempting to lock. --- diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c index 6eb7a5cbab..b7fec9049e 100644 --- a/crypto/cryptlib.c +++ b/crypto/cryptlib.c @@ -410,17 +410,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)