From 4ecda80c6c97092e30b36fd3b0694d306f37dd46 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Wed, 23 Apr 2014 17:36:06 +0200 Subject: [PATCH] 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 d9eec26399c..15dd75ae871 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),