diff options
Diffstat (limited to 'source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp')
| -rw-r--r-- | source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp b/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp index e731a5a02ab0..9aad2e1e70e2 100644 --- a/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp +++ b/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp @@ -979,11 +979,12 @@ bool x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(      offset += insn_len;      m_cur_insn = data + offset; -    if (reinstate_unwind_state) { -      // that was the last instruction of this function -      if (offset >= size) -        continue; +    // offset is pointing beyond the bounds of the +    // function; stop looping. +    if (offset >= size)  +      continue; +    if (reinstate_unwind_state) {        UnwindPlan::RowSP new_row(new UnwindPlan::Row());        *new_row = *original_last_row;        new_row->SetOffset(offset);  | 
