diff options
author | Alan Modra <amodra@gmail.com> | 2021-07-02 23:18:04 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-07-02 23:19:43 +0930 |
commit | 4ff0bb2df5e0ce6dc30b8dd2a0d4174649d0dcfe (patch) | |
tree | 428e46ba35484b348913f2b2ca89d7edfc9edc07 /binutils | |
parent | 62194b631d00112bac1f8856d3259d774df4c15e (diff) | |
download | gdb-4ff0bb2df5e0ce6dc30b8dd2a0d4174649d0dcfe.zip gdb-4ff0bb2df5e0ce6dc30b8dd2a0d4174649d0dcfe.tar.gz gdb-4ff0bb2df5e0ce6dc30b8dd2a0d4174649d0dcfe.tar.bz2 |
PR28048, heap-buffer-overflow on readelf -Ww
PR 28048
* dwarf.c (get_type_signedness): Don't run off end of buffer
printing DW_FORM_string attribute.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 6 | ||||
-rw-r--r-- | binutils/dwarf.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index f6d6ebf..95762df 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2021-07-02 Alan Modra <amodra@gmail.com> + + PR 28048 + * dwarf.c (get_type_signedness): Don't run off end of buffer + printing DW_FORM_string attribute. + 2021-07-01 Nick Clifton <nickc@redhat.com> PR 28029 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index de9d2b8..1e7f4db 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -2211,7 +2211,7 @@ get_type_signedness (abbrev_entry *entry, if (attr->form == DW_FORM_strp) printf (", %s", fetch_indirect_string (uvalue)); else if (attr->form == DW_FORM_string) - printf (", %s", orig_data); + printf (", %.*s", (int) (end - orig_data), orig_data); } break; |