From 1ee3542c0a3830cac933ae56cc5f29e9c3f7c6ca Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 28 Oct 2019 16:45:55 +0000 Subject: Fix potentially illegal shift and assign operation in CSKY disassembler. * csky-dis.c (csky_chars_to_number): Check for a negative count. Use an unsigned integer to construct the return value. --- opcodes/csky-dis.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'opcodes/csky-dis.c') diff --git a/opcodes/csky-dis.c b/opcodes/csky-dis.c index efd1f75052b..ffdb5964958 100644 --- a/opcodes/csky-dis.c +++ b/opcodes/csky-dis.c @@ -134,10 +134,10 @@ csky_get_mask (struct csky_opcode_info const *pinfo) static unsigned int csky_chars_to_number (unsigned char * buf, int n) { - if (n == 0) + if (n <= 0) abort (); int i; - int val = 0; + unsigned int val = 0; if (dis_info.info->endian == BFD_ENDIAN_BIG) while (n--) -- cgit v1.2.1