summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2016-03-09 16:10:53 +1030
committerAlan Modra <amodra@gmail.com>2016-03-09 16:54:24 +1030
commit03ee85837ec2e10f7b67c417b17ab3ffa97a98d2 (patch)
tree3903f60250370836052882730b6ea8ca9385c294
parent9c1d7a087682074d585253ad38719ec2363eb2b7 (diff)
downloadbinutils-gdb-03ee85837ec2e10f7b67c417b17ab3ffa97a98d2.tar.gz
Allow zero length archive elements
PR binutils/19775 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero length elements in the archive.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/coff-alpha.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index fe08c0280c3..fc632192682 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2016-03-09 Alan Modra <amodra@gmail.com>
+
+ PR binutils/19775
+ * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
+ length elements in the archive.
+
2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
PR ld/19789
diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c
index f69f22b371d..70388f7db02 100644
--- a/bfd/coff-alpha.c
+++ b/bfd/coff-alpha.c
@@ -2208,7 +2208,7 @@ alpha_ecoff_openr_next_archived_file (bfd *archive, bfd *last_file)
BSD-4.4-style element with a long odd size. */
filestart = last_file->proxy_origin + size;
filestart += filestart % 2;
- if (filestart <= last_file->proxy_origin)
+ if (filestart < last_file->proxy_origin)
{
/* Prevent looping. See PR19256. */
bfd_set_error (bfd_error_malformed_archive);