Piotr Caban : msvcrt: Handle frames with CXX_FRAME_MAGIC_VC6 and CXX_FRAME_MAGIC_VC7 magic value.

Alexandre Julliard julliard at winehq.org
Thu Jun 16 03:45:41 CDT 2016


Module: wine
Branch: stable
Commit: da9963112dfbc35eac3e333b29346ce96222e951
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=da9963112dfbc35eac3e333b29346ce96222e951

Author: Piotr Caban <piotr at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 953d6c88d1235548eaa54f1b450f5bba938c4f91)
Signed-off-by: Michael Stefaniuc <mstefani at 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 7b62c4d..3d03136 100644
--- a/dlls/msvcrt/except_x86_64.c
+++ b/dlls/msvcrt/except_x86_64.c
@@ -160,7 +160,9 @@ static void dump_function_descr(const cxx_function_descr *descr, ULONG64 image_b
         }
     }
     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);
 }
 
@@ -170,7 +172,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;




More information about the wine-cvs mailing list