https://bugs.winehq.org/show_bug.cgi?id=54593
Bug ID: 54593 Summary: gdi32:dc - The SetDeviceGammaRamp() tests fails on Windows 10 1909 Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: gdi32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
gdi32:dc - The SetDeviceGammaRamp() fails on Windows 10 1909:
dc.c:1271: Test failed: SetDeviceGammaRamp succeeded dc.c:1276: Test failed: SetDeviceGammaRamp succeeded dc.c:1288: Test failed: SetDeviceGammaRamp succeeded
See https://test.winehq.org/data/patterns.html#gdi32:dc
The tests tries to set 3 types of invalid gamma ramps and expects Windows to reject them. These failures are 100% reproducible even when running the test on its own (so the failures are not caused by interference from another test).
Up until Windows 10 1809 all the tests are skipped: dc.c:1262: Tests skipped: SetDeviceGammaRamp failed, skipping tests
And on Windows 10 2004+ the tests succeed. So it looks like 1909 just did not perform all the gamma ramp validation checks.
Except that on 2022-07-12 and 2022-11-11, the test had the exact same failures (same lines too) on w1064-tsign which is Windows 10 21H2.
https://bugs.winehq.org/show_bug.cgi?id=54593
--- Comment #1 from François Gouget fgouget@codeweavers.com --- Created attachment 74125 --> https://bugs.winehq.org/attachment.cgi?id=74125 Trace the gamma ramps and some
https://bugs.winehq.org/show_bug.cgi?id=54593
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=54593
--- Comment #2 from François Gouget fgouget@codeweavers.com --- The post below posits that the restrictions on the gamma range changes are meant to prevent malicious programs from inverting colors, blank the display, or make two colors identical (to hide text), etc. It also says the restrictions are undocumented but has no indication on when they were introduced.
http://jonls.dk/2010/09/windows-gamma-adjustments/
https://bugs.winehq.org/show_bug.cgi?id=54593
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |fgouget@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=54593
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |9d6a9909c3fcffce928cd836ff2 | |0ad0c66f1340c
--- Comment #3 from François Gouget fgouget@codeweavers.com --- This is fixed:
commit 9d6a9909c3fcffce928cd836ff20ad0c66f1340c Author: François Gouget fgouget@codeweavers.com AuthorDate: Mon Feb 27 10:47:19 2023 +0100
gdi32/tests: Fix the SetDeviceGammaRamp() tests on Windows 10 1909.
SetDeviceGammaRamp() checks the specified ramp to prevent applications from setting malicious gamma ramps (e.g. hiding text by remapping its color to match the background). But Windows 10 1909 has fewer checks than later Windows 10 versions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54593
https://bugs.winehq.org/show_bug.cgi?id=54593
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.4.