Module: wine Branch: refs/heads/master Commit: 968ad51d2a77750cd6b371a57b5b6bd809d89914 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=968ad51d2a77750cd6b371a5...
Author: Michael Stefaniuc mstefani@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);