Skip to content

ntdll: Check for invalid GS base in the 64-bit segv_handler.

William Horvath requested to merge whrvt/wine:57444 into master

Adapted from check_invalid_gs in signal_i386.c. This prevents crashing when the %gs register is manipulated, such as in 32-bit code on "new-style" WoW64.

"Exertus: Darkness Approaches" is a 32-bit game that triggers this crash (on WoW64), which can be downloaded from the Bugzilla page's attachments. For another example, test.c can reproduce it, courtesy of Fabian Maurer from the Bugzilla comments. This will crash whether it's compiled as 32-bit or 64-bit, while it works fine on Windows.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57444

Edited by William Horvath

Merge request reports

Loading