aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffswap.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-05-11 18:00:31 +0930
committerAlan Modra <amodra@gmail.com>2020-05-11 18:11:26 +0930
commit4d5acb1ea570f04f8020338bad6918dfe76b785c (patch)
treef67454d0a28ddbc36215ff1080437a8c1c02c0d3 /bfd/coffswap.h
parentb59cca2581498c37fd79292deef718b2bfce8117 (diff)
downloadfsf-binutils-gdb-4d5acb1ea570f04f8020338bad6918dfe76b785c.zip
fsf-binutils-gdb-4d5acb1ea570f04f8020338bad6918dfe76b785c.tar.gz
fsf-binutils-gdb-4d5acb1ea570f04f8020338bad6918dfe76b785c.tar.bz2
PR25961, buffer overflow in coff_swap_aux_in
PR 25961 * coffgen.c (coff_get_normalized_symtab): Check that buffer contains required number of auxents before processing any auxent. * coffswap.h (coff_swap_aux_in <C_FILE>): Only swap in extended file name from auxents for PE.
Diffstat (limited to 'bfd/coffswap.h')
-rw-r--r--bfd/coffswap.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/coffswap.h b/bfd/coffswap.h
index 7c0be22..f75001e 100644
--- a/bfd/coffswap.h
+++ b/bfd/coffswap.h
@@ -399,7 +399,7 @@ coff_swap_aux_in (bfd *abfd,
#if FILNMLEN != E_FILNMLEN
#error we need to cope with truncating or extending FILNMLEN
#else
- if (numaux > 1)
+ if (numaux > 1 && coff_data (abfd)->pe)
{
if (indx == 0)
memcpy (in->x_file.x_fname, ext->x_file.x_fname,