summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2000-12-25 21:41:20 +0000
committerAlexandre Oliva <aoliva@redhat.com>2000-12-25 21:41:20 +0000
commitc3df7e24eb167753193889e9f6c09b9b86c97ef3 (patch)
treed14a66507f3c601d23ea61dd776004124a52ab79
parentcf2dbcee08cf4c3d6b797135d6213a16c8760684 (diff)
downloadbinutils-redhat-c3df7e24eb167753193889e9f6c09b9b86c97ef3.tar.gz
* archive.c (coff_write_armap): Don't write more than symbol_count
`archive_member_file_ptr's.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/archive.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index bc44020f47..9c1f097cc1 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2000-12-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * archive.c (coff_write_armap): Don't write more than symbol_count
+ `archive_member_file_ptr's.
+
2000-12-25 Kazu Hirata <kazu@hxi.com>
* vms-tir.c: Fix formatting.
diff --git a/bfd/archive.c b/bfd/archive.c
index 1321073f48..14dc770072 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -2198,7 +2198,7 @@ coff_write_armap (arch, elength, map, symbol_count, stridx)
/* For each symbol which is used defined in this object, write
out the object file's address in the archive. */
- while (((bfd *) (map[count]).pos) == current)
+ while (count < symbol_count && ((bfd *) (map[count]).pos) == current)
{
bfd_write_bigendian_4byte_int (arch, archive_member_file_ptr);
count++;