Piotr Caban : msvcrt: Handle frames with CXX_FRAME_MAGIC_VC6 and CXX_FRAME_MAGIC_VC7 magic value.
Module: wine Branch: master Commit: 953d6c88d1235548eaa54f1b450f5bba938c4f91 URL: http://source.winehq.org/git/wine.git/?a=commit;h=953d6c88d1235548eaa54f1b45... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Mar 28 20:12:18 2016 +0200 msvcrt: Handle frames with CXX_FRAME_MAGIC_VC6 and CXX_FRAME_MAGIC_VC7 magic value. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msvcrt/except_x86_64.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/msvcrt/except_x86_64.c b/dlls/msvcrt/except_x86_64.c index 018554e..0379d30 100644 --- a/dlls/msvcrt/except_x86_64.c +++ b/dlls/msvcrt/except_x86_64.c @@ -177,7 +177,9 @@ static void dump_function_descr(const cxx_function_descr *descr, ULONG64 image_b TRACE(" %d: ip %x state %d\n", i, ipmap[i].ip, ipmap[i].state); } TRACE("unwind_help %d\n", descr->unwind_help); + if (descr->magic <= CXX_FRAME_MAGIC_VC6) return; TRACE("expect list: %x\n", descr->expect_list); + if (descr->magic <= CXX_FRAME_MAGIC_VC7) return; TRACE("flags: %08x\n", descr->flags); } @@ -444,7 +446,7 @@ static DWORD cxx_frame_handler(EXCEPTION_RECORD *rec, ULONG64 frame, { cxx_exception_type *exc_type; - if (descr->magic != CXX_FRAME_MAGIC_VC8) + if (descr->magic<CXX_FRAME_MAGIC_VC6 || descr->magic>CXX_FRAME_MAGIC_VC8) { FIXME("unhandled frame magic %x\n", descr->magic); return ExceptionContinueSearch;
participants (1)
-
Alexandre Julliard