PR 21408, segfault in display_debug_lines_decoded

PR 21408
	* dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
	file_table.
This commit is contained in:
Alan Modra 2017-04-23 13:49:50 +09:30
parent b43eea27e9
commit f082820db9
2 changed files with 11 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2017-04-23 Alan Modra <amodra@gmail.com>
PR 21408
* dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
file_table.
2017-04-21 Nick Clifton <nickc@redhat.com>
PR binutils/21378

View File

@ -3808,11 +3808,10 @@ display_debug_lines_decoded (struct dwarf_section *section,
}
/* Print the Compilation Unit's name and a header. */
if (directory_table == NULL)
{
printf (_("CU: %s:\n"), file_table[0].name);
printf (_("File name Line number Starting address\n"));
}
if (file_table == NULL)
;
else if (directory_table == NULL)
printf (_("CU: %s:\n"), file_table[0].name);
else
{
unsigned int ix = file_table[0].directory_index;
@ -3836,10 +3835,9 @@ display_debug_lines_decoded (struct dwarf_section *section,
printf (_("CU: %s/%s:\n"), directory, file_table[0].name);
else
printf ("%s:\n", file_table[0].name);
printf (_("File name Line number Starting address\n"));
}
printf (_("File name Line number Starting address\n"));
saved_linfo = linfo;
}