mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
[NTUSER] Fix BSOD 0x1E nullptr deref CORE-18899 (#5212)
fix authored by JIRA-user "TANGaming". I do suspect that the possibility of that nullptr deref was introduced on the master branch by 0.4.13-dev-962-g 4193b8d
. Doug Lyons signalled his "ok" regarding the fix in chat already. CORE-18899
This commit is contained in:
parent
c37addcbf5
commit
9ee9f73369
3 changed files with 13 additions and 12 deletions
|
@ -1,9 +1,8 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* PROJECT: ReactOS Win32k subsystem
|
||||||
* PROJECT: ReactOS Win32k subsystem
|
* LICENSE: See COPYING in the top level directory
|
||||||
* PURPOSE: Miscellaneous User functions
|
* PURPOSE: Miscellaneous User functions
|
||||||
* FILE: win32ss/user/ntuser/defwnd.c
|
* COPYRIGHT: 2008-2020 James Tabor <james.tabor@reactos.org>
|
||||||
* PROGRAMER:
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <win32k.h>
|
#include <win32k.h>
|
||||||
|
@ -797,6 +796,10 @@ IntDefWindowProc(
|
||||||
HWND hwndTop = UserGetForegroundWindow();
|
HWND hwndTop = UserGetForegroundWindow();
|
||||||
PWND topWnd = UserGetWindowObject(hwndTop);
|
PWND topWnd = UserGetWindowObject(hwndTop);
|
||||||
|
|
||||||
|
// MS Doc: foreground window can be NULL, e.g. when window is losing activation
|
||||||
|
if (!topWnd)
|
||||||
|
return 0;
|
||||||
|
|
||||||
// We want to forbid snapping operations on the TaskBar
|
// We want to forbid snapping operations on the TaskBar
|
||||||
// We use a heuristic for detecting the TaskBar Wnd by its typical Style & ExStyle Values
|
// We use a heuristic for detecting the TaskBar Wnd by its typical Style & ExStyle Values
|
||||||
ExStyleTB = (topWnd->ExStyle & WS_EX_TOOLWINDOW);
|
ExStyleTB = (topWnd->ExStyle & WS_EX_TOOLWINDOW);
|
||||||
|
@ -805,7 +808,7 @@ IntDefWindowProc(
|
||||||
&& (ExStyleTB == WS_EX_TOOLWINDOW);
|
&& (ExStyleTB == WS_EX_TOOLWINDOW);
|
||||||
TRACE("ExStyle=%x Style=%x IsTaskBar=%d\n", ExStyleTB, StyleTB, IsTaskBar);
|
TRACE("ExStyle=%x Style=%x IsTaskBar=%d\n", ExStyleTB, StyleTB, IsTaskBar);
|
||||||
|
|
||||||
if (topWnd && !IsTaskBar)
|
if (!IsTaskBar)
|
||||||
{
|
{
|
||||||
if ((topWnd->style & WS_THICKFRAME) == 0)
|
if ((topWnd->style & WS_THICKFRAME) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
* PURPOSE: Window event handlers
|
* PURPOSE: Window event handlers
|
||||||
* FILE: win32ss/user/ntuser/event.c
|
* PROGRAMER: James Tabor <james.tabor@reactos.org>
|
||||||
* PROGRAMER: James Tabor (james.tabor@rectos.org)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <win32k.h>
|
#include <win32k.h>
|
||||||
|
|
|
@ -2,10 +2,9 @@
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
* PURPOSE: Window hooks
|
* PURPOSE: Window hooks
|
||||||
* FILE: win32ss/user/ntuser/hook.c
|
* PROGRAMER: Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||||
* PROGRAMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
* James Tabor <james.tabor@reactos.org>
|
||||||
* James Tabor (james.tabor@rectos.org)
|
* Rafal Harabien <rafalh@reactos.org>
|
||||||
* Rafal Harabien (rafalh@reactos.org)
|
|
||||||
* NOTE: Most of this code was adapted from Wine,
|
* NOTE: Most of this code was adapted from Wine,
|
||||||
* Copyright (C) 2002 Alexandre Julliard
|
* Copyright (C) 2002 Alexandre Julliard
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue