X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fcryptlib.c;h=8fd2d4d26b82a73eab02843913f659585bdceb61;hb=6e7af77268c2b83acdcd18bb7098cf1194abfb17;hp=fdb416d5981ed72d48e302055eca7ba0377fdc19;hpb=04bdca29d7e72bae5834c2d7085de78de17d6873;p=oweals%2Fopenssl.git diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c index fdb416d598..8fd2d4d26b 100644 --- a/crypto/cryptlib.c +++ b/crypto/cryptlib.c @@ -90,6 +90,7 @@ static const char* lock_names[CRYPTO_NUM_LOCKS] = "ssl_sess_cert", "ssl", "rand", + "rand2", "debug_malloc", "BIO", "gethostbyname", @@ -100,7 +101,7 @@ static const char* lock_names[CRYPTO_NUM_LOCKS] = "debug_malloc2", "dso", "dynlock", -#if CRYPTO_NUM_LOCKS != 28 +#if CRYPTO_NUM_LOCKS != 29 # error "Inconsistency between crypto.h and cryptlib.c" #endif }; @@ -227,7 +228,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_unlock(CRYPTO_LOCK_DYNLOCK); return; + } pointer = sk_CRYPTO_dynlock_value(dyn_locks, i); if (pointer != NULL) {