[WIN32K]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 27 Oct 2010 12:51:32 +0000 (12:51 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 27 Oct 2010 12:51:32 +0000 (12:51 +0000)
Fix possible NULL pointer dereference. Spotted by Amine Khaldi.

svn path=/trunk/; revision=49303

reactos/subsystems/win32/win32k/ntuser/event.c

index 2c5a91e..e768c2e 100644 (file)
@@ -299,17 +299,21 @@ NtUserNotifyWinEvent(
    UserEnterExclusive();
 
    /* Validate input */
-   if (hWnd && (hWnd != INVALID_HANDLE_VALUE) && !(Window = UserGetWindowObject(hWnd)))
+   if (hWnd && (hWnd != INVALID_HANDLE_VALUE))
    {
-      UserLeave();
-      return;
+     Window = UserGetWindowObject(hWnd);
+     if (!Window)
+     {
+       UserLeave();
+       return;
+     }
    }
 
    if (gpsi->dwInstalledEventHooks & GetMaskFromEvent(Event))
    {
-      UserRefObjectCo(Window, &Ref);
+      if (Window) UserRefObjectCo(Window, &Ref);
       IntNotifyWinEvent( Event, Window, idObject, idChild, WEF_SETBYWNDPTI);
-      UserDerefObjectCo(Window);
+      if (Window) UserDerefObjectCo(Window);
    }
    UserLeave();
 }