Prevent an illegal memory access in the xgate disassembler.
* xgate-dis.c (print_insn): Fix decoding of the XGATE_OP_DYA operand.
This commit is contained in:
parent
12c3e9173e
commit
dee334510f
@ -1,3 +1,8 @@
|
|||||||
|
2019-10-28 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* xgate-dis.c (print_insn): Fix decoding of the XGATE_OP_DYA
|
||||||
|
operand.
|
||||||
|
|
||||||
2019-10-25 Nick Clifton <nickc@redhat.com>
|
2019-10-25 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* rx-dis.c (print_insn_rx): Use parenthesis to ensure correct
|
* rx-dis.c (print_insn_rx): Use parenthesis to ensure correct
|
||||||
|
@ -169,8 +169,8 @@ print_insn (bfd_vma memaddr, struct disassemble_info* info)
|
|||||||
}
|
}
|
||||||
else if (!strcmp (decodePTR->opcodePTR->constraints, XGATE_OP_DYA))
|
else if (!strcmp (decodePTR->opcodePTR->constraints, XGATE_OP_DYA))
|
||||||
{
|
{
|
||||||
operandOne = ripBits (&operMaskReg, 3, opcodePTR, raw_code);
|
operandOne = ripBits (&operMaskReg, 3, decodePTR->opcodePTR, raw_code);
|
||||||
operandTwo = ripBits (&operMaskReg, 3, opcodePTR, raw_code);
|
operandTwo = ripBits (&operMaskReg, 3, decodePTR->opcodePTR, raw_code);
|
||||||
( *info->fprintf_func)(info->stream, " R%x, R%x", operandOne,
|
( *info->fprintf_func)(info->stream, " R%x, R%x", operandOne,
|
||||||
operandTwo);
|
operandTwo);
|
||||||
}
|
}
|
||||||
@ -259,7 +259,7 @@ print_insn (bfd_vma memaddr, struct disassemble_info* info)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
(*info->fprintf_func)(info->stream, " unhandled mode %s",
|
(*info->fprintf_func)(info->stream, " unhandled mode %s",
|
||||||
opcodePTR->constraints);
|
decodePTR->opcodePTR->constraints);
|
||||||
}
|
}
|
||||||
perviousBin = raw_code;
|
perviousBin = raw_code;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user