47 lines
1.3 KiB
Diff
47 lines
1.3 KiB
Diff
From f461bbd847f15657f3dd2f317c30c75a7520da1f Mon Sep 17 00:00:00 2001
|
|
From: Nick Clifton <nickc@redhat.com>
|
|
Date: Wed, 14 Jun 2017 17:01:54 +0100
|
|
Subject: [PATCH] Fix address violation bug when disassembling a corrupt SH
|
|
binary.
|
|
|
|
PR binutils/21578
|
|
* elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
|
|
flag value.
|
|
|
|
Upstream-Status: Backport
|
|
CVE: CVE-2017-9744
|
|
Signed-off-by: Armin Kuster <akuster@mvista.com>
|
|
|
|
---
|
|
bfd/ChangeLog | 6 ++++++
|
|
bfd/elf32-sh.c | 2 +-
|
|
2 files changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
Index: git/bfd/elf32-sh.c
|
|
===================================================================
|
|
--- git.orig/bfd/elf32-sh.c
|
|
+++ git/bfd/elf32-sh.c
|
|
@@ -6344,7 +6344,7 @@ sh_elf_set_mach_from_flags (bfd *abfd)
|
|
{
|
|
flagword flags = elf_elfheader (abfd)->e_flags & EF_SH_MACH_MASK;
|
|
|
|
- if (flags >= sizeof(sh_ef_bfd_table))
|
|
+ if (flags >= ARRAY_SIZE (sh_ef_bfd_table))
|
|
return FALSE;
|
|
|
|
if (sh_ef_bfd_table[flags] == 0)
|
|
Index: git/bfd/ChangeLog
|
|
===================================================================
|
|
--- git.orig/bfd/ChangeLog
|
|
+++ git/bfd/ChangeLog
|
|
@@ -1,3 +1,9 @@
|
|
+2017-06-14 Nick Clifton <nickc@redhat.com>
|
|
+
|
|
+ PR binutils/21578
|
|
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
|
|
+ flag value.
|
|
+
|
|
2017-04-29 Alan Modra <amodra@gmail.com>
|
|
|
|
PR 21432
|