GH773: Possible leak on CRYPTO_THREAD_lock_new failure
[openssl.git] / crypto / threads_win.c
index bee628ff8196597bba03d8c2a7d873935529beef..741e8f827e97b946b8c1d87502927083c5895a20 100644 (file)
@@ -59,8 +59,10 @@ CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void)
         return NULL;
 
     /* 0x400 is the spin count value suggested in the documentation */
-    if (!InitializeCriticalSectionAndSpinCount(lock, 0x400))
+    if (!InitializeCriticalSectionAndSpinCount(lock, 0x400)) {
+        OPENSSL_free(lock);
         return NULL;
+    }
 
     return lock;
 }