diff options
Diffstat (limited to 'bfd/elfcode.h')
-rw-r--r-- | bfd/elfcode.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bfd/elfcode.h b/bfd/elfcode.h index 79b85a3..26b666e 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -5850,10 +5850,11 @@ elf_link_input_bfd (finfo, input_bfd) } /* Read the local symbols. */ - if (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0 - || (bfd_read (finfo->external_syms, sizeof (Elf_External_Sym), - locsymcount, input_bfd) - != locsymcount * sizeof (Elf_External_Sym))) + if (locsymcount > 0 + && (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0 + || (bfd_read (finfo->external_syms, sizeof (Elf_External_Sym), + locsymcount, input_bfd) + != locsymcount * sizeof (Elf_External_Sym)))) return false; /* Swap in the local symbols and write out the ones which we know |