From 576252b0a147969e18bc54382192b0cd14c70333 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Wed, 28 Dec 2005 16:27:20 +0000 Subject: [PATCH] checking for null and correct memmroy leak part of bug 252 patch by j_anderw svn path=/trunk/; revision=20397 --- reactos/subsys/win32k/ntuser/hook.c | 1 + reactos/subsys/win32k/ntuser/monitor.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/reactos/subsys/win32k/ntuser/hook.c b/reactos/subsys/win32k/ntuser/hook.c index b3fcfa0bfd3..64be46dfc7c 100644 --- a/reactos/subsys/win32k/ntuser/hook.c +++ b/reactos/subsys/win32k/ntuser/hook.c @@ -652,6 +652,7 @@ NtUserSetWindowsHookEx( ModuleName.MaximumLength); if (! NT_SUCCESS(Status)) { + ExFreePool(Hook->ModuleName.Buffer); ObmDereferenceObject(Hook); IntRemoveHook(Hook, WinStaObj, FALSE); if (NULL != Thread) diff --git a/reactos/subsys/win32k/ntuser/monitor.c b/reactos/subsys/win32k/ntuser/monitor.c index 212c3b7e2f4..cd1f86bbe1e 100644 --- a/reactos/subsys/win32k/ntuser/monitor.c +++ b/reactos/subsys/win32k/ntuser/monitor.c @@ -630,6 +630,12 @@ NtUserGetMonitorInfo( RETURN(FALSE); } + if(pMonitorInfo == NULL) + { + SetLastNtError(STATUS_INVALID_PARAMETER); + RETURN(FALSE); + } + /* get size of pMonitorInfo */ Status = MmCopyFromCaller(&MonitorInfo.cbSize, &pMonitorInfo->cbSize, sizeof (MonitorInfo.cbSize)); if (!NT_SUCCESS(Status)) -- 2.17.1