From 541a3cbda9de8ae8888906cfe14887c394a3f772 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 11 Nov 2014 16:15:47 +0000 Subject: [PATCH] Prevent a buffer overrun whilst displaying corrupt ARM tags. PR binutils/17531 * readelf.c (display_arm_attribute): Avoid reading off the end of the buffer when processing a Tag_nodefaults. --- binutils/ChangeLog | 6 ++++++ binutils/readelf.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 2e71311..f7a58a8 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2014-11-11 Nick Clifton + + PR binutils/17531 + * readelf.c (display_arm_attribute): Avoid reading off the end of + the buffer when processing a Tag_nodefaults. + 2014-11-10 Nick Clifton PR binutils/17531 diff --git a/binutils/readelf.c b/binutils/readelf.c index 91d5581..0830960 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -12054,7 +12054,9 @@ display_arm_attribute (unsigned char * p, break; case 64: /* Tag_nodefaults. */ - p++; + /* PR 17531: file: 001-505008-0.01. */ + if (p < end) + p++; printf (_("True\n")); break; -- 2.7.4