aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfcode.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elfcode.h')
-rw-r--r--bfd/elfcode.h9
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