aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2019-10-25 16:10:04 +0100
committerNick Clifton <nickc@redhat.com>2019-10-25 16:10:04 +0100
commit27cee81d06fcff87d9c026a571db58c29c489dfa (patch)
treedd53da0f69ab64a69649cacac18543b6ade5d083
parent93878f471745364756b9bad753c5052614fbcd7e (diff)
downloadgdb-27cee81d06fcff87d9c026a571db58c29c489dfa.zip
gdb-27cee81d06fcff87d9c026a571db58c29c489dfa.tar.gz
gdb-27cee81d06fcff87d9c026a571db58c29c489dfa.tar.bz2
Fix potential undefined behaviour in the RX disassembler.
* rx-dis.c (print_insn_rx): Use parenthesis to ensure correct access to opcodes.op array element.
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/rx-dis.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 4213fba..74f1db2 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-25 Nick Clifton <nickc@redhat.com>
+
+ * rx-dis.c (print_insn_rx): Use parenthesis to ensure correct
+ access to opcodes.op array element.
+
2019-10-23 Nick Clifton <nickc@redhat.com>
* rx-dis.c (get_register_name): Fix spelling typo in error
diff --git a/opcodes/rx-dis.c b/opcodes/rx-dis.c
index c84f7c5..80144bb 100644
--- a/opcodes/rx-dis.c
+++ b/opcodes/rx-dis.c
@@ -319,7 +319,7 @@ print_insn_rx (bfd_vma addr, disassemble_info * dis)
case '0':
case '1':
case '2':
- oper = opcode.op + *s - '0';
+ oper = opcode.op + (*s - '0');
if (do_size)
{
if (oper->type == RX_Operand_Indirect || oper->type == RX_Operand_Zero_Indirect)