From: Patrick Rudolph Subject: [PATCH 1/2] user32: check for valid cbSize in GetMonitorInfoW Message-Id: <97e6e4292fcd08ea8f0727eeeefe54f0@das-labor.org> Date: Wed, 23 Apr 2014 17:47:59 +0200 check for valid cbSize in user32.GetMonitorInfoW From e3bdbae7dacfe411dae6bbf2c9439da486402104 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Wed, 23 Apr 2014 17:36:06 +0200 Subject: user32: check for valid cbSize in GetMonitorInfoW --- dlls/user32/misc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/user32/misc.c b/dlls/user32/misc.c index d9eec26..f8bd295 100644 --- a/dlls/user32/misc.c +++ b/dlls/user32/misc.c @@ -440,7 +440,12 @@ BOOL WINAPI GetMonitorInfoA(HMONITOR hMonitor, LPMONITORINFO lpMonitorInfo) */ BOOL WINAPI GetMonitorInfoW(HMONITOR hMonitor, LPMONITORINFO lpMonitorInfo) { - BOOL ret = USER_Driver->pGetMonitorInfo( hMonitor, lpMonitorInfo ); + BOOL ret; + + if((lpMonitorInfo->cbSize != sizeof(MONITORINFOEXW)) && (lpMonitorInfo->cbSize != sizeof(MONITORINFO))) + return FALSE; + + ret = USER_Driver->pGetMonitorInfo( hMonitor, lpMonitorInfo ); if (ret) TRACE("flags %04x, monitor %s, work %s\n", lpMonitorInfo->dwFlags, wine_dbgstr_rect(&lpMonitorInfo->rcMonitor), -- 1.8.5.3