Michael Stefaniuc : secur32: Missing LeaveCriticalSection on error paths.

Alexandre Julliard julliard at wine.codeweavers.com
Fri May 5 14:08:13 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 968ad51d2a77750cd6b371a57b5b6bd809d89914
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=968ad51d2a77750cd6b371a57b5b6bd809d89914

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Mon May  1 15:56:53 2006 +0200

secur32: Missing LeaveCriticalSection on error paths.

---

 dlls/secur32/secur32.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/dlls/secur32/secur32.c b/dlls/secur32/secur32.c
index 4757782..ebe7e2e 100644
--- a/dlls/secur32/secur32.c
+++ b/dlls/secur32/secur32.c
@@ -396,14 +396,20 @@ SecureProvider *SECUR32_addProvider(cons
     {
         providerTable = HeapAlloc(GetProcessHeap(), 0, sizeof(SecureProviderTable));
         if (!providerTable)
+        {
+            LeaveCriticalSection(&cs);
             return NULL;
+        }
 
         list_init(&providerTable->table);
     }
 
     ret = HeapAlloc(GetProcessHeap(), 0, sizeof(SecureProvider));
     if (!ret)
+    {
+        LeaveCriticalSection(&cs);
         return NULL;
+    }
 
     list_add_tail(&providerTable->table, &ret->entry);
     ret->lib = NULL;
@@ -439,7 +445,10 @@ void SECUR32_addPackages(SecureProvider 
     {
         packageTable = HeapAlloc(GetProcessHeap(), 0, sizeof(SecurePackageTable));
         if (!packageTable)
+        {
+            LeaveCriticalSection(&cs);
             return;
+        }
 
         packageTable->numPackages = 0;
         list_init(&packageTable->table);




More information about the wine-cvs mailing list