From: Nick Clifton Date: Thu, 30 Nov 2017 10:25:01 +0000 (+0000) Subject: Prevent an illegal memory access in readelf when attempting to parse a corrupt ELF... X-Git-Tag: gdb-8.1-release~336 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f425ec6600b69e39eb605f3128806ff688137ea8;p=external%2Fbinutils.git Prevent an illegal memory access in readelf when attempting to parse a corrupt ELF file. PR 22510 * readelf.c (load_debug_section): Fail if there are no section headers available. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index bacb762..1ea16e4 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2017-11-30 Nick Clifton + + PR 22510 + * readelf.c (load_debug_section): Fail if there are no section + headers available. + 2017-11-29 Nick Clifton PR 22508 diff --git a/binutils/readelf.c b/binutils/readelf.c index a1f43e6..e0230c7 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -13574,6 +13574,10 @@ load_debug_section (enum dwarf_section_display_enum debug, void * data) Elf_Internal_Shdr * sec; Filedata * filedata = (Filedata *) data; + /* Without section headers we cannot find any sections. */ + if (filedata->section_headers == NULL) + return FALSE; + if (filedata->string_table == NULL) { Elf_Internal_Shdr * strs;