[coverity] Don't close uninitialized handle on VXD error path
Mike Hearn
mike at plan99.net
Thu Apr 6 15:35:02 CDT 2006
Mike Hearn <mike at plan99.net>
Don't close uninitialized handle on VXD error path
diff --git a/dlls/kernel/vxd.c b/dlls/kernel/vxd.c
index 5d16684..2a004a0 100644
--- a/dlls/kernel/vxd.c
+++ b/dlls/kernel/vxd.c
@@ -179,7 +179,7 @@ HANDLE VXD_Open( LPCWSTR filenameW, DWOR
{
static const WCHAR dotVxDW[] = {'.','v','x','d',0};
int i;
- HANDLE handle;
+ HANDLE handle = INVALID_HANDLE_VALUE;
HMODULE module;
WCHAR *p, name[16];
@@ -254,10 +254,14 @@ HANDLE VXD_Open( LPCWSTR filenameW, DWOR
}
ERR("too many open VxD modules, please report\n" );
- CloseHandle( handle );
+
+ if (handle)
+ {
+ CloseHandle( handle );
+ handle = 0;
+ }
FreeLibrary( module );
- handle = 0;
-
+
done:
RtlLeaveCriticalSection( &vxd_section );
if (!DuplicateHandle( GetCurrentProcess(), handle, GetCurrentProcess(), &handle, 0,
More information about the wine-patches
mailing list