This looks to have been a typo.
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index 2f62fd7..612b3b9 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -231,7 +231,7 @@
 
 	if (dyn_locks == NULL || i >= sk_CRYPTO_dynlock_num(dyn_locks))
 		{
-		CRYPTO_w_lock(CRYPTO_LOCK_DYNLOCK);
+		CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK);
 		return;
 		}
 	pointer = sk_CRYPTO_dynlock_value(dyn_locks, i);