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.
This commit is contained in:
Nick Clifton 2019-10-28 16:45:55 +00:00
parent bbf9a0b5ee
commit 1ee3542c0a
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2019-10-28 Nick Clifton <nickc@redhat.com>
* csky-dis.c (csky_chars_to_number): Check for a negative
count. Use an unsigned integer to construct the return value.
2019-10-28 Nick Clifton <nickc@redhat.com>
* tic30-dis.c (OPERAND_BUFFER_LEN): Define. Use as length of

View File

@ -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--)