Grazvydas Ignotas : dbghelp: Detect if return address information is missing.
Module: wine Branch: master Commit: 2fee06de4980a59cee0930bf966b654270716a7e URL: http://source.winehq.org/git/wine.git/?a=commit;h=2fee06de4980a59cee0930bf96... Author: Grazvydas Ignotas <notasas(a)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;
participants (1)
-
Alexandre Julliard