diff options
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch')
-rw-r--r-- | meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch b/meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch new file mode 100644 index 0000000..a28fc9d --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch @@ -0,0 +1,48 @@ +Upstream-Status: Backport + +From dcf0cb6bb406708020efe2db44f53af0fe822773 Mon Sep 17 00:00:00 2001 +From: Nick Clifton <nickc@redhat.com> +Date: Mon, 30 Jan 2012 11:35:37 +0000 +Subject: [PATCH 078/262] PR binutils/13622 * readelf.c + (process_section_groups): If there are no section + headers do not scan for section groups. + (process_note_sections): Likewise for note + sections. + +--- + binutils/ChangeLog | 7 +++++++ + binutils/readelf.c | 5 +++-- + 2 files changed, 10 insertions(+), 2 deletions(-) + +2012-01-26 Nick Clifton <nickc@redhat.com> + + PR binutils/13622 + * readelf.c (process_section_groups): If there are no section + headers do not scan for section groups. + (process_note_sections): Likewise for note sections. +diff --git a/binutils/readelf.c b/binutils/readelf.c +index 9e13190..bf053d9 100644 +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -4937,7 +4937,8 @@ process_section_groups (FILE * file) + if (section_headers == NULL) + { + error (_("Section headers are not available!\n")); +- abort (); ++ /* PR 13622: This can happen with a corrupt ELF header. */ ++ return 0; + } + + section_headers_groups = (struct group **) calloc (elf_header.e_shnum, +@@ -12942,7 +12943,7 @@ process_note_sections (FILE * file) + int res = 1; + + for (i = 0, section = section_headers; +- i < elf_header.e_shnum; ++ i < elf_header.e_shnum && section != NULL; + i++, section++) + if (section->sh_type == SHT_NOTE) + res &= process_corefile_note_segment (file, +-- +1.7.9.5 + |