diff options
author | Alan Modra <amodra@gmail.com> | 2020-02-27 13:50:21 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-02-27 17:04:55 +1030 |
commit | ff69a8949bb65c9eb64ea03ee1492902c2620c8c (patch) | |
tree | 80050e74973dfc6421249bad117b7691ccd55f77 /bfd/coff-rs6000.c | |
parent | d0adf5451e2200aac8ba903fd77a33879c5a5d9b (diff) | |
download | gdb-ff69a8949bb65c9eb64ea03ee1492902c2620c8c.zip gdb-ff69a8949bb65c9eb64ea03ee1492902c2620c8c.tar.gz gdb-ff69a8949bb65c9eb64ea03ee1492902c2620c8c.tar.bz2 |
bfd_stat_arch_elt buffer overflow
If you manage to put an xcoff object file into a non-xcoff archive
(created by first putting a non-xcoff object file into it), and have
xcoff support compiled into libbfd, then objdump -x on the archive
can segfault. The problem is that _bfd_xcoff_stat_arch_elt expects
abfd->arelt_data->arch_header to be one of the xcoff variants, but
arelt_data is generated depending on the archive format, *not* the
element format.
* bfd.c (bfd_stat_arch_elt): Use vector of containing archive,
if file is an archive element.
* bfd-in2.h: Regenerate.
Diffstat (limited to 'bfd/coff-rs6000.c')
0 files changed, 0 insertions, 0 deletions