Ensure data pointer kept within bounds
authorAlan Modra <amodra@gmail.com>
Wed, 12 May 2021 07:57:34 +0000 (17:27 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 12 May 2021 11:59:25 +0000 (21:29 +0930)
commita7077ce7604f78b896595dceccd89d70d2a050a0
tree4877e8c13d3876a002a26fd6911793fa0c44ddc9
parent6d1ad6f7834d62bedec138aaf3ac872c60702ecd
Ensure data pointer kept within bounds

* dwarf.c (process_extended_line_op): Don't bump data pointer past
end when strnlen doesn't find string terminator.
(decode_location_expression): Remove dead code.
(skip_attr_bytes): Remove const from end param.  Ensure data
pointer doesn't pass end.
(get_type_signedness): Remove const from end param.
(read_and_display_attr_value): Ensure data pointer doesn't pass end.
(display_debug_lines_raw, display_debug_lines_decoded): Likewise.
(display_debug_pubnames_worker): Likewise.
(display_debug_pubnames_worker): Use SAFE_BYTE_GET_AND INC rather
than blindly incrementing data pointer.
(display_debug_addr, display_debug_str_offsets): Likewise.  Don't
compare pointers, compare lengths.
binutils/ChangeLog
binutils/dwarf.c