From eb7b504651ff7b44a7328cd967629d8f1d114a4b Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 17 Dec 2019 23:11:02 +1030 Subject: [PATCH] ubsan: visium: left shift cannot be represented in type 'int' * visium-dis.c (print_insn_visium): Avoid signed overflow. --- opcodes/ChangeLog | 4 ++++ opcodes/visium-dis.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index e2aa20b5e80..aac14ea6a08 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2019-12-17 Alan Modra + + * visium-dis.c (print_insn_visium): Avoid signed overflow. + 2019-12-17 Alan Modra * aarch64-opc.c (value_fit_signed_field_p): Avoid signed overflow. diff --git a/opcodes/visium-dis.c b/opcodes/visium-dis.c index 41943ade726..1f081f1a44c 100644 --- a/opcodes/visium-dis.c +++ b/opcodes/visium-dis.c @@ -789,7 +789,7 @@ print_insn_visium (bfd_vma addr, disassemble_info *info) /* Get 32-bit instruction word. */ FETCH_DATA (info, buffer + 4); - ins = buffer[0] << 24; + ins = (unsigned) buffer[0] << 24; ins |= buffer[1] << 16; ins |= buffer[2] << 8; ins |= buffer[3]; -- 2.30.2