diff options
author | Alan Modra <amodra@gmail.com> | 2021-05-12 17:27:34 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-05-12 21:29:25 +0930 |
commit | a7077ce7604f78b896595dceccd89d70d2a050a0 (patch) | |
tree | 4877e8c13d3876a002a26fd6911793fa0c44ddc9 /binutils/ChangeLog | |
parent | 6d1ad6f7834d62bedec138aaf3ac872c60702ecd (diff) | |
download | gdb-a7077ce7604f78b896595dceccd89d70d2a050a0.zip gdb-a7077ce7604f78b896595dceccd89d70d2a050a0.tar.gz gdb-a7077ce7604f78b896595dceccd89d70d2a050a0.tar.bz2 |
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.
Diffstat (limited to 'binutils/ChangeLog')
-rw-r--r-- | binutils/ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index a100b70..9f3099f 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,21 @@ 2021-05-12 Alan Modra <amodra@gmail.com> + * 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. + +2021-05-12 Alan Modra <amodra@gmail.com> + * dwarf.c (SAFE_BYTE_GET_INTERNAL): Define. (SAFE_BYTE_GET, SAFE_BYTE_GET_AND_INC): Define using the above. (SAFE_SIGNED_BYTE_GET, SAFE_SIGNED_BYTE_GET_AND_INC): Likewise. |