[PATCH] kernel32: Don't leak an event handle on errors.

Grazvydas Ignotas notasas at gmail.com
Sat May 16 14:29:42 CDT 2015


---
 dlls/kernel32/change.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/kernel32/change.c b/dlls/kernel32/change.c
index f3aec8d..781ccfe 100644
--- a/dlls/kernel32/change.c
+++ b/dlls/kernel32/change.c
@@ -190,12 +190,14 @@ BOOL WINAPI ReadDirectoryChangesW( HANDLE handle, LPVOID buffer, DWORD len, BOOL
             return TRUE;
 
         WaitForSingleObjectEx( ov.hEvent, INFINITE, TRUE );
-        CloseHandle( ov.hEvent );
         if (returned)
             *returned = ios->Information;
         status = ios->u.Status;
     }
 
+    if (!overlapped)
+        CloseHandle( ov.hEvent );
+
     if (status != STATUS_SUCCESS)
     {
         SetLastError( RtlNtStatusToDosError(status) );
-- 
1.9.1




More information about the wine-patches mailing list