Patrick Rudolph : user32: Check for valid cbSize in GetMonitorInfoW.
Module: wine Branch: master Commit: 4ecda80c6c97092e30b36fd3b0694d306f37dd46 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4ecda80c6c97092e30b36fd3b0... Author: Patrick Rudolph <siro(a)das-labor.org> Date: Wed Apr 23 17:36:06 2014 +0200 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..15dd75a 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),
participants (1)
-
Alexandre Julliard