Description
After the CORE-8094 fix, we now crash in user mode.
The Ansi version of GetUserObjectInformation equally does not treat lpnLengthNeeded as optional.
Eip:
|
<user32.dll:2c777 (win32ss/user/user32/misc/object.c:76 (GetUserObjectInformationA))>
|
Frames:
|
<user32_winetest.exe:cf371 (modules/rostests/winetests/user32/winstation.c:507 (test_inputdesktop))>
|
<user32_winetest.exe:d1a28 (modules/rostests/winetests/user32/winstation.c:939 (func_winstation))>
|
<user32_winetest.exe:d5359 (include/reactos/wine/test.h:606 (main))>
|
<user32_winetest.exe:d6356 (lib/sdk/crt/startup/crtexe.c:310 (__tmainCRTStartup))>
|
<user32_winetest.exe:d63b8 (lib/sdk/crt/startup/crtexe.c:196 (mainCRTStartup))>
|
<kernel32.dll:fb63 (dll/win32/kernel32/client/proc.c:472 (BaseProcessStartup))>
|
<00000000>
|
I gave it a quick try and added a check, but then we crash the kernel again:
(../../win32ss/user/ntuser/desktop.c:1662) err: Validation of desktop handle (0x00000798) failed
|
(../../win32ss/user/ntuser/desktop.c:1956) err: Validation of desktop handle (0x00000798) failed
|
(../../win32ss/user/ntuser/desktop.c:1583) err: Validation of desktop handle (0x00000798) failed
|
NTDDK: Pageable code called at IRQL > APC_LEVEL (2)
|
Assertion '0' failed at ../../win32ss/user/ntuser/misc/copy.c line 39
|
|
Entered debugger on embedded INT3 at 0x0008:0x809578b2.
|
kdb:> bt
|
Eip:
|
<NTOSKRNL.EXE:1578b3 (:0 (DbgBreakPoint))>
|
Frames:
|
<win32k.sys:1778d (win32ss/user/ntuser/misc/copy.c:39 (_MmCopyToCaller))>
|
<win32k.sys:7bd5f (win32ss/user/ntuser/winsta.c:1243 (NtUserBuildNameList))>
|
<NTOSKRNL.EXE:140230 (ntoskrnl/include/internal/arch/../i386/ke.h:688 (KiFastCallEntryHandler))>
|
<NTOSKRNL.EXE:3ced (:0 (KiFastCallEntry))>
|
<ntdll.dll:c081 (:0 (KiIntSystemCall))>
|
<user32.dll:2ecd9 (win32ss/user/user32/misc/winsta.c:278 (EnumNamesA))>
|
<user32.dll:28786 (win32ss/user/user32/misc/desktop.c:522 (EnumDesktopsA))>
|
<user32_winetest.exe:d1b6b (modules/rostests/winetests/user32/winstation.c:675 (func_winstation))>
|
<user32_winetest.exe:d5359 (include/reactos/wine/test.h:606 (main))>
|
<user32_winetest.exe:d6356 (lib/sdk/crt/startup/crtexe.c:310 (__tmainCRTStartup))>
|
<user32_winetest.exe:d63b8 (lib/sdk/crt/startup/crtexe.c:196 (mainCRTStartup))>
|
<kernel32.dll:fb63 (dll/win32/kernel32/client/proc.c:472 (BaseProcessStartup))>
|
<00000000>
|
kdb:>
|