From 2c5c119630be063c97872428084fff51a858dfd3 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 3 Jan 2020 07:07:17 +1030 Subject: ubsan: crx: left shift cannot be represented in type 'int' * crx-dis.c (match_opcode): Avoid shift left of signed value. --- opcodes/crx-dis.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'opcodes/crx-dis.c') diff --git a/opcodes/crx-dis.c b/opcodes/crx-dis.c index 18b6c6d..011cd68 100644 --- a/opcodes/crx-dis.c +++ b/opcodes/crx-dis.c @@ -337,7 +337,7 @@ match_opcode (void) unsigned int mask; /* The instruction 'constant' opcode doewsn't exceed 32 bits. */ - unsigned int doubleWord = (words[1] + (words[0] << 16)) & 0xffffffff; + unsigned int doubleWord = words[1] + ((unsigned) words[0] << 16); /* Start searching from end of instruction table. */ instruction = &crx_instruction[NUMOPCODES - 2]; -- cgit v1.1