From fc42baf3cdc41bc8cf12e35ae78e4529c1470118 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 24 Mar 2015 17:20:00 +0000 Subject: [PATCH] Fixes a bug introduced by the new ranges checks on COFF symbol tables. PR binutils/17512 * coffgen.c (coff_get_normalized_symtab): Fix test for out of range auxillary sections. --- bfd/ChangeLog | 6 ++++++ bfd/coffgen.c | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index aad0763a818..73c155cdeb9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2015-03-24 Nick Clifton + + PR binutils/17512 + * coffgen.c (coff_get_normalized_symtab): Fix test for out of + range auxillary sections. + 2015-03-24 Marcus Shawcroft * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor diff --git a/bfd/coffgen.c b/bfd/coffgen.c index b1ab56e2e14..2cd7b09c6a2 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -1808,7 +1808,7 @@ coff_get_normalized_symtab (bfd *abfd) if (symbol_ptr->u.syment.n_sclass == C_FILE && symbol_ptr->u.syment.n_numaux > 0 && raw_src + symesz + symbol_ptr->u.syment.n_numaux - * sizeof (union internal_auxent) >= raw_end) + * symesz > raw_end) { bfd_release (abfd, internal); return NULL; @@ -1827,7 +1827,6 @@ coff_get_normalized_symtab (bfd *abfd) } raw_src += symesz; - bfd_coff_swap_aux_in (abfd, (void *) raw_src, symbol_ptr->u.syment.n_type, symbol_ptr->u.syment.n_sclass, -- 2.30.2