public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] PR29870, objdump SEGV in display_debug_lines_decoded dwarf.c:5524
@ 2022-12-11 13:22 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2022-12-11 13:22 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f2f58a399cf3f946983398cdfe52d0eaa72bf877

commit f2f58a399cf3f946983398cdfe52d0eaa72bf877
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Dec 11 14:47:57 2022 +1030

    PR29870, objdump SEGV in display_debug_lines_decoded dwarf.c:5524
    
    DWARF5 directory and file table allow more opportunity for fuzzers
    to break things.  There are likely other places in dwarf.c that should
    be fixed too.
    
            PR 29870
            * dwarf.c (display_debug_lines_decoded): Handle NULL file_table
            name entry.

Diff:
---
 binutils/dwarf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index ffe3c10ff75..6ec33725876 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -5499,7 +5499,7 @@ display_debug_lines_decoded (struct dwarf_section *  section,
 	      || (xop == DW_LNS_copy))
 	    {
 	      const unsigned int MAX_FILENAME_LENGTH = 35;
-	      char *fileName;
+	      char *fileName = NULL;
 	      char *newFileName = NULL;
 	      size_t fileNameLength;
 
@@ -5518,7 +5518,7 @@ display_debug_lines_decoded (struct dwarf_section *  section,
 		  else
 		    fileName = (char *) file_table[indx].name;
 		}
-	      else
+	      if (!fileName)
 		fileName = _("<unknown>");
 
 	      fileNameLength = strlen (fileName);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-12-11 13:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-11 13:22 [binutils-gdb] PR29870, objdump SEGV in display_debug_lines_decoded dwarf.c:5524 Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).