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 <lgustavo@codesourcery.com> * ppc-dis.c (get_powerpc_dialect): Check NULL info->section.
This commit is contained in:
parent
1d262527cf
commit
3a2488dd21
|
@ -1,3 +1,7 @@
|
|||
2016-12-08 Luis Machado <lgustavo@codesourcery.com>
|
||||
|
||||
* ppc-dis.c (get_powerpc_dialect): Check NULL info->section.
|
||||
|
||||
2016-12-07 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* mips-dis.c (print_mips16_insn_arg): Fix comment typo.
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue