diff options
author | Alan Modra <amodra@gmail.com> | 2002-03-27 00:16:54 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2002-03-27 00:16:54 +0000 |
commit | b99d18333dd47aa5750a26999e683480f16fb1d4 (patch) | |
tree | 46790f34e0c420d5e49b87dd69ce6aa5dbcc65e4 /bfd | |
parent | cfed07154c9448b8dd40c8994fc2a03a3f7df090 (diff) | |
download | gdb-b99d18333dd47aa5750a26999e683480f16fb1d4.zip gdb-b99d18333dd47aa5750a26999e683480f16fb1d4.tar.gz gdb-b99d18333dd47aa5750a26999e683480f16fb1d4.tar.bz2 |
* elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
terminating NULL if empty symbol table.
(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf.c | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b28e978..c32ee17 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2002-03-27 Gregory Steuck <greg@nest.cx> + + * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for + terminating NULL if empty symbol table. + (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise. + 2002-03-26 H.J. Lu (hjl@gnu.org) * elflink.h (elf_link_input_bfd): Revert the last change since @@ -5113,7 +5113,9 @@ _bfd_elf_get_symtab_upper_bound (abfd) Elf_Internal_Shdr *hdr = &elf_tdata (abfd)->symtab_hdr; symcount = hdr->sh_size / get_elf_backend_data (abfd)->s->sizeof_sym; - symtab_size = (symcount - 1 + 1) * (sizeof (asymbol *)); + symtab_size = (symcount + 1) * (sizeof (asymbol *)); + if (symcount > 0) + symtab_size -= sizeof (asymbol *); return symtab_size; } @@ -5133,7 +5135,9 @@ _bfd_elf_get_dynamic_symtab_upper_bound (abfd) } symcount = hdr->sh_size / get_elf_backend_data (abfd)->s->sizeof_sym; - symtab_size = (symcount - 1 + 1) * (sizeof (asymbol *)); + symtab_size = (symcount + 1) * (sizeof (asymbol *)); + if (symcount > 0) + symtab_size -= sizeof (asymbol *); return symtab_size; } |