| 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 |