https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2d4c0b87b1eccecbdd220…
commit 2d4c0b87b1eccecbdd220ef9dea6512bbeb2fcd8
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Tue Dec 10 17:26:00 2024 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Sun Dec 22 10:19:01 2024 +0200
[WIN32K:NTUSER] Check for NULL desktop window in co_IntProcessMouseMessage
---
win32ss/user/ntuser/msgqueue.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/win32ss/user/ntuser/msgqueue.c b/win32ss/user/ntuser/msgqueue.c
index 3a8b60704ff..13a3a106d7d 100644
--- a/win32ss/user/ntuser/msgqueue.c
+++ b/win32ss/user/ntuser/msgqueue.c
@@ -1487,6 +1487,12 @@ BOOL co_IntProcessMouseMessage(MSG* msg, BOOL* RemoveMessages,
BOOL* NotForUs, L
pti = PsGetCurrentThreadWin32Thread();
pwndDesktop = UserGetDesktopWindow();
+ if (pwndDesktop == NULL)
+ {
+ ERR("No desktop window!\n");
+ return FALSE;
+ }
+
MessageQueue = pti->MessageQueue;
CurInfo = IntGetSysCursorInfo();
pwndMsg = ValidateHwndNoErr(msg->hwnd);
@@ -2001,7 +2007,7 @@ co_MsqPeekHardwareMessage(IN PTHREADINFO pti,
UpdateKeyStateFromMsg(MessageQueue, &msg);
AcceptMessage = co_IntProcessHardwareMessage(&msg, &Remove,
&NotForUs, ExtraInfo, MsgFilterLow, MsgFilterHigh);
-
+
if (!NotForUs && (MsgFilterLow != 0 || MsgFilterHigh != 0))
{
/* Don't return message if not in range */