Leave space for terminating NULL if empty symbol table. from bfd-current.
This commit is contained in:
parent
0e559d642e
commit
991135bad8
25
devel/binutils/stable/patches/patch-bfd_elf_c
Normal file
25
devel/binutils/stable/patches/patch-bfd_elf_c
Normal file
@ -0,0 +1,25 @@
|
||||
$OpenBSD: patch-bfd_elf_c,v 1.1 2002/04/30 18:15:55 fgsch Exp $
|
||||
--- bfd/elf.c.orig Tue Apr 30 06:24:34 2002
|
||||
+++ bfd/elf.c Tue Apr 30 06:25:29 2002
|
||||
@@ -4535,7 +4535,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 (symtab_size > 0)
|
||||
+ symtab_size -= sizeof (asymbol *);
|
||||
|
||||
return symtab_size;
|
||||
}
|
||||
@@ -4555,7 +4557,9 @@ _bfd_elf_get_dynamic_symtab_upper_bound
|
||||
}
|
||||
|
||||
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 (symtab_size > 0)
|
||||
+ symtab_size -= sizeof (asymbol *);
|
||||
|
||||
return symtab_size;
|
||||
}
|
Loading…
Reference in New Issue
Block a user