aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog2
-rw-r--r--binutils/readelf.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 9e682c1..803bfa8 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -8,6 +8,8 @@
* dwarf.c (xcmalloc): Fail if the arguments are too big.
(xcrealloc): Likewise.
(xcalloc2): Likewise.
+ * readelf.c (process_mips_specific): Fail if an option has an
+ invalid size.
2015-02-05 Alan Modra <amodra@gmail.com>
diff --git a/binutils/readelf.c b/binutils/readelf.c
index a0d6f32..00bcb1d 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -13880,9 +13880,8 @@ process_mips_specific (FILE * file)
if (option->size < sizeof (* eopt)
|| offset + option->size > sect->sh_size)
{
- warn (_("Invalid size (%u) for MIPS option\n"), option->size);
- option->size = sizeof (* eopt);
- break;
+ error (_("Invalid size (%u) for MIPS option\n"), option->size);
+ return 0;
}
offset += option->size;