https://git.reactos.org/?p=reactos.git;a=commitdiff;h=74c45e0975fe9d070ef0b…
commit 74c45e0975fe9d070ef0b0903354a57357649d84
Author: Thamatip Chitpong <tangaming123456(a)outlook.com>
AuthorDate: Sun Jan 22 21:44:52 2023 +0700
Commit: GitHub <noreply(a)github.com>
CommitDate: Sun Jan 22 17:44:52 2023 +0300
[WIN32K:NTUSER] ValidateHwndNoErr: Fix window handle validation (#4981)
Also check window state. Addendum to 4d48b88b.
---
win32ss/user/ntuser/window.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/win32ss/user/ntuser/window.c b/win32ss/user/ntuser/window.c
index 1c2b0474c08..2bdc64f6be9 100644
--- a/win32ss/user/ntuser/window.c
+++ b/win32ss/user/ntuser/window.c
@@ -117,8 +117,16 @@ PWND FASTCALL VerifyWnd(PWND pWnd)
PWND FASTCALL ValidateHwndNoErr(HWND hWnd)
{
- if (hWnd) return (PWND)UserGetObjectNoErr(gHandleTable, hWnd, TYPE_WINDOW);
- return NULL;
+ PWND Window;
+
+ if (!hWnd)
+ return NULL;
+
+ Window = (PWND)UserGetObjectNoErr(gHandleTable, hWnd, TYPE_WINDOW);
+ if (!Window || (Window->state & WNDS_DESTROYED))
+ return NULL;
+
+ return Window;
}
/* Temp HACK */