Fix OOPStackUnwinderX86::Unwind crash when Eip is invalid
authorIgor Kulaychuk <i.kulaychuk@samsung.com>
Wed, 25 Apr 2018 18:31:59 +0000 (21:31 +0300)
committerGleb Balykov <g.balykov@samsung.com>
Tue, 18 Sep 2018 12:49:14 +0000 (15:49 +0300)
src/unwinder/i386/unwinder_i386.cpp

index 42c19cb..8cd8f48 100644 (file)
@@ -30,7 +30,7 @@ BOOL OOPStackUnwinderX86::Unwind(T_CONTEXT* pContextRecord, T_KNONVOLATILE_CONTE
     EECodeInfo codeInfo;
     codeInfo.Init((PCODE) ControlPc);
 
-    if (!UnwindStackFrame(&rd, &codeInfo, UpdateAllRegs, &codeManState, NULL))
+    if (!codeInfo.IsValid() || !UnwindStackFrame(&rd, &codeInfo, UpdateAllRegs, &codeManState, NULL))
     {
         return FALSE;
     }