Module: wine Branch: master Commit: 2fee06de4980a59cee0930bf966b654270716a7e URL: http://source.winehq.org/git/wine.git/?a=commit;h=2fee06de4980a59cee0930bf96...
Author: Grazvydas Ignotas notasas@gmail.com Date: Mon Apr 6 20:39:35 2015 +0300
dbghelp: Detect if return address information is missing.
---
dlls/dbghelp/dwarf.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c index c54bfd3..fa9e559 100644 --- a/dlls/dbghelp/dwarf.c +++ b/dlls/dbghelp/dwarf.c @@ -3271,6 +3271,10 @@ BOOL dwarf2_virtual_unwind(struct cpu_stack_walk* csw, ULONG_PTR ip, CONTEXT* co if (end) fde_ctx.data = end;
execute_cfa_instructions(&fde_ctx, ip, &info); + + /* if there is no information about retaddr, use default unwinder */ + if (info.state.rules[info.retaddr_reg] == RULE_UNSET) return FALSE; + apply_frame_state(pair.effective, csw, context, &info.state, cfa);
return TRUE;