[PATCH] debugedit: Don't hang on DW_FORM_strx references

Luís Ferreira contact@lsferreira.net
Thu Nov 10 18:17:59 GMT 2022


Compilers that generate DWARF5 can write to .debug_info a DW_FORM_strx
reference. The code seem to handle it but hangs on the abbreviation
sanity check.

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
---
 tools/debugedit.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/debugedit.c b/tools/debugedit.c
index d82ae5a..4450b34 100644
--- a/tools/debugedit.c
+++ b/tools/debugedit.c
@@ -778,12 +778,17 @@ no_memory:
 		       || form == DW_FORM_line_strp
 		       || form == DW_FORM_implicit_const
 		       || form == DW_FORM_addrx
+		       || form == DW_FORM_strx
 		       || form == DW_FORM_loclistx
 		       || form == DW_FORM_rnglistx
 		       || form == DW_FORM_addrx1
 		       || form == DW_FORM_addrx2
 		       || form == DW_FORM_addrx3
-		       || form == DW_FORM_addrx4)))
+		       || form == DW_FORM_addrx4
+		       || form == DW_FORM_strx1
+		       || form == DW_FORM_strx2
+		       || form == DW_FORM_strx3
+		       || form == DW_FORM_strx4)))
 	    {
 	      error (0, 0, "%s: Unknown DWARF DW_FORM_0x%x", dso->filename,
 		     form);
-- 
2.38.1



More information about the Debugedit mailing list