From: Luis Machado Date: Thu, 8 Dec 2016 13:25:09 +0000 (-0600) Subject: Fix crash when disassembling invalid range on powerpc vle X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3a2488dd21a895df3ffb49048f5de1a83ce2ddd4;p=binutils-gdb.git Fix crash when disassembling invalid range on powerpc vle I got a report of a gdb crash for vle and further investigation showed an attempt to disassemble an invalid memory range. I tracked the crash down to the code in get_powerpc_dialect, where we fail to make sure we have a valid section pointer before dereferencing it. There is no such problem for rs6000-based disassembling. opcodes/ChangeLog: 2016-12-08 Luis Machado * ppc-dis.c (get_powerpc_dialect): Check NULL info->section. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ff9c689459f..09f03419e2a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2016-12-08 Luis Machado + + * ppc-dis.c (get_powerpc_dialect): Check NULL info->section. + 2016-12-07 Maciej W. Rozycki * mips-dis.c (print_mips16_insn_arg): Fix comment typo. diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c index da1301e6aea..efca15771c5 100644 --- a/opcodes/ppc-dis.c +++ b/opcodes/ppc-dis.c @@ -236,7 +236,7 @@ get_powerpc_dialect (struct disassemble_info *info) /* Disassemble according to the section headers flags for VLE-mode. */ if (dialect & PPC_OPCODE_VLE - && info->section->owner != NULL + && info->section != NULL && info->section->owner != NULL && bfd_get_flavour (info->section->owner) == bfd_target_elf_flavour && elf_object_id (info->section->owner) == PPC32_ELF_DATA && (elf_section_flags (info->section) & SHF_PPC_VLE) != 0)