diff options
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/dwarf.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 6d36f58a9c..670ab97704 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,10 @@ 2021-05-15 Alan Modra <amodra@gmail.com> + * dwarf.c (display_debug_str_offsets): Constrain reads to length + given in header. + +2021-05-15 Alan Modra <amodra@gmail.com> + * dwarf.c (display_debug_aranges): Delete initial_length_size. Use end_ranges to constrain data reads to header length. Avoid pointer UB. diff --git a/binutils/dwarf.c b/binutils/dwarf.c index cd76f3f5e8..a0b84fc8d8 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -7480,12 +7480,12 @@ display_debug_str_offsets (struct dwarf_section *section, } int version; - SAFE_BYTE_GET_AND_INC (version, curr, 2, end); + SAFE_BYTE_GET_AND_INC (version, curr, 2, entries_end); if (version != 5) warn (_("Unexpected version number in str_offset header: %#x\n"), version); int padding; - SAFE_BYTE_GET_AND_INC (padding, curr, 2, end); + SAFE_BYTE_GET_AND_INC (padding, curr, 2, entries_end); if (padding != 0) warn (_("Unexpected value in str_offset header's padding field: %#x\n"), padding); |