Browse Source

PR 7023

* elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
cgen-1_1-branch
Alan Modra 18 years ago
parent
commit
3337c1e561
  1. 5
      bfd/ChangeLog
  2. 2
      bfd/elf.c

5
bfd/ChangeLog

@ -1,3 +1,8 @@
2008-11-13 Alan Modra <amodra@bigpond.net.au>
PR 7023
* elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
2008-11-12 Tristan Gingold <gingold@adacore.com> 2008-11-12 Tristan Gingold <gingold@adacore.com>
* bfd.c (bfd_get_sign_extend_vma): Return 0 for mach-o. * bfd.c (bfd_get_sign_extend_vma): Return 0 for mach-o.

2
bfd/elf.c

@ -1608,6 +1608,8 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
if (hdr->sh_entsize != bed->s->sizeof_sym) if (hdr->sh_entsize != bed->s->sizeof_sym)
return FALSE; return FALSE;
if (hdr->sh_info * hdr->sh_entsize > hdr->sh_size)
return FALSE;
BFD_ASSERT (elf_onesymtab (abfd) == 0); BFD_ASSERT (elf_onesymtab (abfd) == 0);
elf_onesymtab (abfd) = shindex; elf_onesymtab (abfd) = shindex;
elf_tdata (abfd)->symtab_hdr = *hdr; elf_tdata (abfd)->symtab_hdr = *hdr;

Loading…
Cancel
Save