From 81d80fc079069b721fa806db9789852858aa09f1 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 5 Sep 2017 13:27:56 +0100 Subject: [PATCH] Import parch from mainline to prevent buffer overrun. PR 21995 * readelf.c (process_mips_specific): Add checks for a NULL data pointer. --- binutils/ChangeLog | 8 ++++++++ binutils/readelf.c | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 7c9b86f950b..f74a4367b8b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,11 @@ +2017-09-05 Nick Clifton + + Import from mainline: + + PR 21995 + * readelf.c (process_mips_specific): Add checks for a NULL data + pointer. + 2017-08-12 Alan Modra * readelf.c (process_note): Qualify NT_GNU_BUILD_ATTRIBUTE notes diff --git a/binutils/readelf.c b/binutils/readelf.c index 9bbfc957e4d..93496621971 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -15296,7 +15296,7 @@ process_mips_specific (FILE * file) printf ("\n"); } - if (ent < end) + if (data != NULL && ent < end) { printf (_(" Local entries:\n")); printf (" %*s %10s %*s\n", @@ -15826,7 +15826,7 @@ process_mips_specific (FILE * file) } printf ("\n"); - if (ent < local_end) + if (data != NULL && ent < local_end) { printf (_(" Local entries:\n")); printf (" %*s %10s %*s\n", @@ -15842,7 +15842,7 @@ process_mips_specific (FILE * file) printf ("\n"); } - if (gotsym < symtabno) + if (data != NULL && gotsym < symtabno) { int sym_width; -- 2.47.3