Grazvydas Ignotas : dbghelp: Detect if return address information is missing.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Apr 7 10:11:27 CDT 2015
Module: wine
Branch: master
Commit: 2fee06de4980a59cee0930bf966b654270716a7e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2fee06de4980a59cee0930bf966b654270716a7e
Author: Grazvydas Ignotas <notasas at 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;
More information about the wine-cvs
mailing list