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
This commit is contained in:
KJK::Hyperion 2005-06-13 20:31:55 +00:00
parent ca33e9fc4f
commit f5b60bc69e

View file

@ -33,7 +33,7 @@ __SEHSetJmp@4:
mov ecx, [esp+0] mov ecx, [esp+0]
; stack pointer ; stack pointer
lea edx, [esp+4] lea edx, [esp+8]
; fill the jump buffer ; fill the jump buffer
mov [eax+0], ebp mov [eax+0], ebp