Alexandre Julliard : ntdll: Fix crash on nested thread exit.

Alexandre Julliard julliard at winehq.org
Mon May 14 06:54:26 CDT 2018


Module: wine
Branch: stable
Commit: 4c614dfe9efdcb92ba46e604966b137dd9689395
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4c614dfe9efdcb92ba46e604966b137dd9689395

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Feb  6 16:06:42 2018 +0100

ntdll: Fix crash on nested thread exit.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 7ccae68f6cf85388ef6eed98792127b7fbf01396)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 dlls/ntdll/signal_i386.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 79d6e32..b411749 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -2904,6 +2904,7 @@ __ASM_GLOBAL_FUNC( start_thread,
 
 extern void DECLSPEC_NORETURN call_thread_exit_func( int status, void (*func)(int) );
 __ASM_GLOBAL_FUNC( call_thread_exit_func,
+                   "movl 8(%esp),%ecx\n\t"
                    /* fetch exit frame */
                    "movl %fs:0x1f4,%edx\n\t"    /* x86_thread_data()->exit_frame */
                    "testl %edx,%edx\n\t"
@@ -2911,7 +2912,6 @@ __ASM_GLOBAL_FUNC( call_thread_exit_func,
                    "jmp *%ecx\n\t"
                    /* switch to exit frame stack */
                    "1:\tmovl 4(%esp),%eax\n\t"
-                   "movl 8(%esp),%ecx\n\t"
                    "movl $0,%fs:0x1f4\n\t"
                    "movl %edx,%ebp\n\t"
                    __ASM_CFI(".cfi_def_cfa %ebp,4\n\t")




More information about the wine-cvs mailing list