summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch
diff options
context:
space:
mode:
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.patch48
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
+
OpenPOWER on IntegriCloud