From 0c0577f6a8498707a34cf21e4d1bc3357982c802 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 29 Aug 2020 11:10:54 +0930 Subject: PR26446 UBSAN: tc-csky.c:2618,4022 index out of bounds PR 26446 * csky-opc.h (MAX_OPRND_NUM): Define to 5. (union csky_operand): Use MAX_OPRND_NUM to size oprnds array. --- opcodes/ChangeLog | 6 ++++++ opcodes/csky-opc.h | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'opcodes') diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 6e7b8f4..4c1e08d 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2020-08-29 Alan Modra + + PR 26446 + * csky-opc.h (MAX_OPRND_NUM): Define to 5. + (union csky_operand): Use MAX_OPRND_NUM to size oprnds array. + 2020-08-28 Alan Modra PR 26449 diff --git a/opcodes/csky-opc.h b/opcodes/csky-opc.h index 95df44d..0a0b138 100644 --- a/opcodes/csky-opc.h +++ b/opcodes/csky-opc.h @@ -22,7 +22,7 @@ #include "opcode/csky.h" #define OP_TABLE_NUM 2 -#define MAX_OPRND_NUM 4 +#define MAX_OPRND_NUM 5 enum operand_type { @@ -222,7 +222,7 @@ struct soperand union csky_operand { - struct operand oprnds[5]; + struct operand oprnds[MAX_OPRND_NUM]; struct suboperand1 { struct operand oprnd; -- cgit v1.1