Eric Pouech : dbghelp: Don't use .debug_frame section if non present when unwinding.

Alexandre Julliard julliard at winehq.org
Mon Jan 3 15:55:03 CST 2022


Module: wine
Branch: master
Commit: 00a11ff73d22d1392b372cc387f42c9bffc974cd
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=00a11ff73d22d1392b372cc387f42c9bffc974cd

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Mon Jan  3 12:02:14 2022 +0100

dbghelp: Don't use .debug_frame section if non present when unwinding.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52295
Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dbghelp/dwarf.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index 7515e540778..7472b6070e6 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -3774,7 +3774,8 @@ static BOOL dwarf2_fetch_frame_info(struct module* module, struct cpu* cpu, LONG
         fde_ctx.data = modfmt->u.dwarf2_info->debug_frame.address;
         fde_ctx.end_data = fde_ctx.data + modfmt->u.dwarf2_info->debug_frame.size;
         delta = module->reloc_delta;
-        if (!dwarf2_get_cie(ip, module, delta, &fde_ctx, &cie_ctx, info, FALSE))
+        if (modfmt->u.dwarf2_info->debug_frame.address == IMAGE_NO_MAP ||
+            !dwarf2_get_cie(ip, module, delta, &fde_ctx, &cie_ctx, info, FALSE))
         {
             TRACE("Couldn't find information for %lx\n", ip);
             return FALSE;




More information about the wine-cvs mailing list