Module: wine Branch: master Commit: 9056049882b41bbc399673794f842113ddf8a61d URL: http://source.winehq.org/git/wine.git/?a=commit;h=9056049882b41bbc399673794f...
Author: Michael Stefaniuc mstefani@redhat.de Date: Tue Oct 30 21:10:09 2007 +0100
pdh: Fix two missing LeaveCriticalSection() on error paths.
---
dlls/pdh/pdh_main.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/pdh/pdh_main.c b/dlls/pdh/pdh_main.c index 37613ed..69c12df 100644 --- a/dlls/pdh/pdh_main.c +++ b/dlls/pdh/pdh_main.c @@ -407,7 +407,11 @@ PDH_STATUS WINAPI PdhCloseQuery( PDH_HQUERY handle ) WaitForSingleObject( thread, INFINITE );
EnterCriticalSection( &pdh_handle_cs ); - if (query->magic != PDH_MAGIC_QUERY) return ERROR_SUCCESS; + if (query->magic != PDH_MAGIC_QUERY) + { + LeaveCriticalSection( &pdh_handle_cs ); + return ERROR_SUCCESS; + } CloseHandle( query->stop ); CloseHandle( query->thread ); query->thread = NULL; @@ -530,7 +534,11 @@ PDH_STATUS WINAPI PdhCollectQueryDataEx( PDH_HQUERY handle, DWORD interval, HAND WaitForSingleObject( thread, INFINITE );
EnterCriticalSection( &pdh_handle_cs ); - if (query->magic != PDH_MAGIC_QUERY) return PDH_INVALID_HANDLE; + if (query->magic != PDH_MAGIC_QUERY) + { + LeaveCriticalSection( &pdh_handle_cs ); + return PDH_INVALID_HANDLE; + } CloseHandle( query->thread ); query->thread = NULL; }