From f5b60bc69e7601233150d78a13605021005f7fa6 Mon Sep 17 00:00:00 2001 From: "KJK::Hyperion" Date: Mon, 13 Jun 2005 20:31:55 +0000 Subject: [PATCH] longjmp should restore the stack pointer as it would be *after* setjmp returns. Since the PSEH implementation of setjmp is __stdcall, this value differs from the usual esp+4, because *after* return *two* doublewords are popped (return IP and parameter). Thanks to blight_ for reporting svn path=/trunk/; revision=15894 --- reactos/lib/pseh/i386/setjmp.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/lib/pseh/i386/setjmp.asm b/reactos/lib/pseh/i386/setjmp.asm index 60a5cd7a331..c53c206a671 100644 --- a/reactos/lib/pseh/i386/setjmp.asm +++ b/reactos/lib/pseh/i386/setjmp.asm @@ -33,7 +33,7 @@ __SEHSetJmp@4: mov ecx, [esp+0] ; stack pointer - lea edx, [esp+4] + lea edx, [esp+8] ; fill the jump buffer mov [eax+0], ebp