[Bug 47808] New: Cygwin's mintty.exe crashes with a stack overflow
WineHQ Bugzilla
wine-bugs at winehq.org
Wed Sep 25 12:38:54 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=47808
Bug ID: 47808
Summary: Cygwin's mintty.exe crashes with a stack overflow
Product: Wine
Version: 4.16
Hardware: x86-64
URL: https://cygwin.com/setup-x86_64.exe
OS: Linux
Status: NEW
Keywords: download
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs at winehq.org
Reporter: z.figura12 at gmail.com
Distribution: ---
Created attachment 65297
--> https://bugs.winehq.org/attachment.cgi?id=65297
hack: always expand the stack if within the stack reserve
The problem is that Cygwin replaces the default stack with one that they've
manually allocated, for whatever reason. Unlike Wine's stack, their stack is
actually split into reserved and committed parts.
Then somewhere in gdi32, libfreetype jumps multiple pages of stack at once,
skipping the guard page and triggering a stack overflow. It's within the
reserved portion, but it never touches the guard pages, so we abort
immediately. This is never a problem normally, because Wine commits the whole
stack instead of just part of it.
The architecturally correct way to fix this is normally to have any such
function use _chkstk(). But it's within libfreetype, so that isn't going to
work. The attached patch fixes the bug, but it's probably not correct. I don't
know how much better we can do, though...
--
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.
More information about the wine-bugs
mailing list