Commit 060ccb12 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: When unwinding the stack, stop if the current address isn't in a known module.

parent 0c240136
...@@ -516,10 +516,8 @@ static BOOL x86_64_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, ...@@ -516,10 +516,8 @@ static BOOL x86_64_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame,
deltapc = 1; deltapc = 1;
} }
if (frame->AddrPC.Offset && (base = sw_module_base(csw, frame->AddrPC.Offset))) if (!frame->AddrPC.Offset || !(base = sw_module_base(csw, frame->AddrPC.Offset))) goto done_err;
frame->FuncTableEntry = sw_table_access(csw, frame->AddrPC.Offset); frame->FuncTableEntry = sw_table_access(csw, frame->AddrPC.Offset);
else
frame->FuncTableEntry = NULL;
frame->AddrStack.Mode = frame->AddrFrame.Mode = frame->AddrReturn.Mode = AddrModeFlat; frame->AddrStack.Mode = frame->AddrFrame.Mode = frame->AddrReturn.Mode = AddrModeFlat;
if (frame->FuncTableEntry) if (frame->FuncTableEntry)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment