Zhiyi Zhang : user32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
Module: wine Branch: master Commit: 6d68c38c886a4b7733891e6ab60c800e9187f60a URL: https://source.winehq.org/git/wine.git/?a=commit;h=6d68c38c886a4b7733891e6ab... Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Tue Aug 11 18:15:28 2020 +0800 user32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings(). Zero initialize DEVMODE before passing it to EnumDisplaySettings(), which may write beyond the end of the DEVMODE structure on Windows because the dmDriverExtra field is uninitialized. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/user32/tests/monitor.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c index 85fb2f080a..57d2ec0008 100644 --- a/dlls/user32/tests/monitor.c +++ b/dlls/user32/tests/monitor.c @@ -514,6 +514,7 @@ static void test_ChangeDisplaySettingsEx(void) devices[device_count].index = device; lstrcpyA(devices[device_count].name, dd.DeviceName); + memset(&devices[device_count].original_mode, 0, sizeof(devices[device_count].original_mode)); devices[device_count].original_mode.dmSize = sizeof(devices[device_count].original_mode); res = EnumDisplaySettingsA(dd.DeviceName, ENUM_CURRENT_SETTINGS, &devices[device_count].original_mode); ok(res, "EnumDisplaySettingsA %s failed, error %#x\n", dd.DeviceName, GetLastError());
participants (1)
-
Alexandre Julliard