From: Nick Clifton Date: Wed, 14 Jun 2017 16:01:54 +0000 (+0100) Subject: Fix address violation bug when disassembling a corrupt SH binary. X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=f461bbd847f15657f3dd2f317c30c75a7520da1f;p=deliverable%2Fbinutils-gdb.git 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 761514fe3c..b9133d22ba 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2017-06-14 Nick Clifton + + PR binutils/21578 + * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid + flag value. + 2017-06-14 Nick Clifton PR binutils/21589 diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index 3b1cc67ee2..3df13b5a1a 100644 --- a/bfd/elf32-sh.c +++ b/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)