mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[WIN32K]
Don't access the object header of a kernel object from win32k. Instead get the desktop name from the desktop info structure. CORE-6818 #resolve svn path=/trunk/; revision=63409
This commit is contained in:
parent
02851fb0e2
commit
17be1062a2
1 changed files with 28 additions and 31 deletions
|
@ -51,7 +51,7 @@ IntDesktopObjectParse(IN PVOID ParseObject,
|
|||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
PLIST_ENTRY NextEntry, ListHead;
|
||||
PWINSTATION_OBJECT WinStaObject = (PWINSTATION_OBJECT)ParseObject;
|
||||
PUNICODE_STRING DesktopName;
|
||||
UNICODE_STRING DesktopName;
|
||||
PBOOLEAN pContext = (PBOOLEAN) Context;
|
||||
|
||||
if(pContext)
|
||||
|
@ -65,15 +65,13 @@ IntDesktopObjectParse(IN PVOID ParseObject,
|
|||
/* Get the current desktop */
|
||||
Desktop = CONTAINING_RECORD(NextEntry, DESKTOP, ListEntry);
|
||||
|
||||
/// @todo Don't mess around with the object headers!
|
||||
/* Get its name */
|
||||
_PRAGMA_WARNING_SUPPRESS(__WARNING_DEREF_NULL_PTR)
|
||||
DesktopName = GET_DESKTOP_NAME(Desktop);
|
||||
if (DesktopName)
|
||||
{
|
||||
/* Get the desktop name */
|
||||
ASSERT(Desktop->pDeskInfo != NULL);
|
||||
RtlInitUnicodeString(&DesktopName, Desktop->pDeskInfo->szDesktopName);
|
||||
|
||||
/* Compare the name */
|
||||
if (RtlEqualUnicodeString(RemainingName,
|
||||
DesktopName,
|
||||
&DesktopName,
|
||||
(Attributes & OBJ_CASE_INSENSITIVE)))
|
||||
{
|
||||
/* We found a match. Did this come from a create? */
|
||||
|
@ -102,7 +100,6 @@ IntDesktopObjectParse(IN PVOID ParseObject,
|
|||
*Object = Desktop;
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
/* Go to the next desktop */
|
||||
NextEntry = NextEntry->Flink;
|
||||
|
|
Loading…
Reference in a new issue