Author: tfaber Date: Fri Oct 16 14:24:30 2015 New Revision: 69555
URL: http://svn.reactos.org/svn/reactos?rev=69555&view=rev Log: [WIN32K:NTUSER] - Don't try to dereference a handle
Modified: trunk/reactos/win32ss/user/ntuser/winsta.c
Modified: trunk/reactos/win32ss/user/ntuser/winsta.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winsta.... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] Fri Oct 16 14:24:30 2015 @@ -1140,7 +1140,7 @@ if (!NT_SUCCESS(Status)) { ERR("ZwQueryDirectoryObject failed\n"); - ObDereferenceObject(DirectoryHandle); + ZwClose(DirectoryHandle); return Status; }
@@ -1148,7 +1148,7 @@ Buffer = ExAllocatePoolWithTag(PagedPool, BufferSize, TAG_WINSTA); if (NULL == Buffer) { - ObDereferenceObject(DirectoryHandle); + ZwClose(DirectoryHandle); return STATUS_NO_MEMORY; }
@@ -1162,7 +1162,7 @@ { /* Something went wrong, maybe someone added a directory entry? Just give up. */ ExFreePoolWithTag(Buffer, TAG_WINSTA); - ObDereferenceObject(DirectoryHandle); + ZwClose(DirectoryHandle); return NT_SUCCESS(Status) ? STATUS_INTERNAL_ERROR : Status; } }