Hi Jan-Benedict,
On Tue, Oct 05, 2021 at 05:36:40PM +0200, Jan-Benedict Glaw wrote:
>
> My last email had a wrong subject, though the patch was correct.
> Here's a second patch, this time *actally* for tests/show-die-info.c:
>
> diff --git a/tests/show-die-info.c b/tests/show-die-info.c
> index 34e27a3b..0823cc60 100644
> --- a/tests/show-die-info.c
> +++ b/tests/show-die-info.c
> @@ -97,7 +97,7 @@ handle (Dwarf *dbg, Dwarf_Die *die, int n)
> printf ("%*s Attrs :", n * 5, "");
> for (cnt = 0; cnt < 0xffff; ++cnt)
> if (dwarf_hasattr (die, cnt))
> - printf (" %s", dwarf_attr_string (cnt));
> + printf (" %s", (dwarf_attr_string (cnt)? dwarf_attr_string (cnt): ""));
> puts ("");
>
> if (dwarf_hasattr (die, DW_AT_low_pc) && dwarf_lowpc (die, &addr) == 0)
This can be fixed in a shorter way using dwarf_attr_string ?: "<unknown>".
Which is what I pushed (see attached).
Thanks,
Mark
>From 47b0ebe9033daa7ac9c732b25c85520b97f9635a Mon Sep 17 00:00:00 2001
From: Mark Wielaard <[email protected]>
Date: Wed, 6 Oct 2021 23:53:34 +0200
Subject: [PATCH] tests: Handle dwarf_attr_string returning NULL in
show-die-info.c
Reported-by: Jan-Benedict Glaw <[email protected]>
Signed-off-by: Mark Wielaard <[email protected]>
---
tests/ChangeLog | 4 ++++
tests/show-die-info.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/ChangeLog b/tests/ChangeLog
index d289b27c..07e018b0 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,7 @@
+2021-10-06 Mark Wielaard <[email protected]>
+
+ * show-die-info.c (handle): Handle dwarf_attr_string returning NULL.
+
2021-10-06 Di Chen <[email protected]>
PR28242
diff --git a/tests/show-die-info.c b/tests/show-die-info.c
index 34e27a3b..1a3191cd 100644
--- a/tests/show-die-info.c
+++ b/tests/show-die-info.c
@@ -97,7 +97,7 @@ handle (Dwarf *dbg, Dwarf_Die *die, int n)
printf ("%*s Attrs :", n * 5, "");
for (cnt = 0; cnt < 0xffff; ++cnt)
if (dwarf_hasattr (die, cnt))
- printf (" %s", dwarf_attr_string (cnt));
+ printf (" %s", dwarf_attr_string (cnt) ?: "<unknown>");
puts ("");
if (dwarf_hasattr (die, DW_AT_low_pc) && dwarf_lowpc (die, &addr) == 0)
--
2.32.0