PR29948, heap-buffer-overflow in display_debug_lines_decoded
authorAlan Modra <amodra@gmail.com>
Fri, 30 Dec 2022 01:11:16 +0000 (11:41 +1030)
committerAlan Modra <amodra@gmail.com>
Fri, 30 Dec 2022 11:01:19 +0000 (21:31 +1030)
commita984f112b015b7d33c3c91230eb4c35695926539
treee281f75aef778bb92811dd00359ed86a60ee99b5
parentfb4646cf1ae4efb70714c323797707e8e09055a0
PR29948, heap-buffer-overflow in display_debug_lines_decoded

This fixes a couple of places in display_debug_lines_decoded that were
off by one in checking DWARF5 .debug_line directory indices.  It also
displays the DWARF5 entry 0 for the program current directory rather
than "." as is done for pre-DWARF5.  I decided against displaying
DW_AT_comp_dir for pre-DWARF5 since I figure it is better for readelf
to minimally interpret debug info.

binutils/
PR 29948
* dwarf.c (display_debug_lines_decoded): Display the given
directory entry 0 for DWARF5.  Properly check directory index
against number of entries in the table.  Revert to using
unsigned int for n_directories and associated variables.
Correct warning messages.
gas/
* testsuite/gas/elf/dwarf-5-loc0.d: Update.
binutils/dwarf.c
gas/testsuite/gas/elf/dwarf-5-loc0.d