Patrick Rudolph : user32: Check for valid cbSize in GetMonitorInfoW.

Alexandre Julliard julliard at winehq.org
Thu Apr 24 13:43:59 CDT 2014


Module: wine
Branch: master
Commit: 4ecda80c6c97092e30b36fd3b0694d306f37dd46
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4ecda80c6c97092e30b36fd3b0694d306f37dd46

Author: Patrick Rudolph <siro at 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),




More information about the wine-cvs mailing list