aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-10-30 19:08:51 +1030
committerAlan Modra <amodra@gmail.com>2022-10-30 19:30:42 +1030
commit28750e3b967da2207d51cbce9fc8be262817ee59 (patch)
treef54605d10a3631b1a2117c2e14737ce1d35a0dc6 /sim
parent60095ba3b8f8ba26a6389dded732fa446422c98f (diff)
downloadbinutils-28750e3b967da2207d51cbce9fc8be262817ee59.zip
binutils-28750e3b967da2207d51cbce9fc8be262817ee59.tar.gz
binutils-28750e3b967da2207d51cbce9fc8be262817ee59.tar.bz2
Pool section entries for DWP version 1
Ref: https://gcc.gnu.org/wiki/DebugFissionDWP?action=recall&rev=3 Fuzzers have found a weakness in the code stashing pool section entries. With random nonsensical values in the index entries (rather than each index pointing to its own set distinct from other sets), it's possible to overflow the space allocated, losing the NULL terminator. Without a terminator, find_section_in_set can run off the end of the shndx_pool buffer. Fix this by scanning the pool directly. binutils/ * dwarf.c (add_shndx_to_cu_tu_entry): Delete range check. (end_cu_tu_entry): Likewise. (process_cu_tu_index): Fill shndx_pool by directly scanning pool, rather than indirectly from index entries.
Diffstat (limited to 'sim')
0 files changed, 0 insertions, 0 deletions