[Bug 60021] New: 32-bit Wine loader segfaults converting Unix executable path when no DOS drive maps it
http://bugs.winehq.org/show_bug.cgi?id=60021 Bug ID: 60021 Summary: 32-bit Wine loader segfaults converting Unix executable path when no DOS drive maps it Product: Wine Version: 11.13 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@list.winehq.org Reporter: saverio.pub2@gmail.com Target Milestone: --- Distribution: --- Wine 11.13 crashes in 32-bit ntdll.so when launching a 32-bit executable using an absolute Unix pathname, if no DOS drive mapping covers that path. Environment: - Ubuntu 24.04, amd64 - Wine 11.13, WoW64 prefix - The prefix has no dosdevices/z: mapping - The executable is a PE32 GUI bootstrapper Steps to reproduce: 1. Use a 64-bit/WoW64 prefix without dosdevices/z: (or another drive mapping covering the executable's Unix location). 2. Run a 32-bit executable located outside drive_c: WINEPREFIX=/path/to/prefix wine /some/unmapped/path/application.exe Result: The native 32-bit Wine process terminates with SIGSEGV (exit status 139). The core dump places the fault in the 32-bit ntdll.so pathname conversion code. The input at the time of the crash is the absolute Unix executable pathname. The faulting instruction dereferences a NULL pointer: movzwl (%esi),%edx ESI = 0 Workaround: Creating the standard mapping fixes the crash: ln -s / "$WINEPREFIX/dosdevices/z:" With z: mapped to /, the same executable starts successfully. Expected result: Wine should either convert the path to a \\?\unix path or report that the path cannot be mapped. It should not crash. Mention NTLite only as the real-world application that exposed it: Originally reproduced with the 32-bit bootstrapper contained in NTLite_setup_x64.exe. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60021 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|32-bit Wine loader |Wine loader segfaults |segfaults converting Unix |converting Unix executable |executable path when no DOS |path when no DOS drive maps |drive maps it |it CC| |z.figura12@gmail.com --- Comment #1 from Zeb Figura <z.figura12@gmail.com> --- Confirming. This is not actually specific to wow64 or 32-bit. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60021 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |e8781e7c8d0770186678c2dc727 | |9bfc4506cfcb6 --- Comment #2 from Zeb Figura <z.figura12@gmail.com> --- Fixed upstream by e8781e7c8d0770186678c2dc7279bfc4506cfcb6. Be aware however that not all applications are happy to have \\?\unix paths; there may be "bugs" that we cannot fix. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60021 --- Comment #3 from S.M. <saverio.pub2@gmail.com> --- Thanks! :) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60021 Alexandre Julliard <julliard@winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #4 from Alexandre Julliard <julliard@winehq.org> --- Closing bugs fixed in 11.14. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla