PR26479 UBSAN: tc-nios2.c:244 left shift cannot be represented

PR 26479
	* config/tc-nios2.c (md_chars_to_number): Cast buf[i] before shifting.
This commit is contained in:
Alan Modra
2020-08-31 15:51:24 +09:30
parent e0fd91ef81
commit baeb994f3f
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2020-08-31 Alan Modra <amodra@gmail.com>
PR 26479
* config/tc-nios2.c (md_chars_to_number): Cast buf[i] before shifting.
2020-08-31 Alan Modra <amodra@gmail.com>
PR 26472

View File

@ -238,10 +238,10 @@ md_chars_to_number (char *buf, int n)
val = 0;
if (target_big_endian)
for (i = 0; i < n; ++i)
val = val | ((buf[i] & 0xff) << 8 * (n - (i + 1)));
val = val | ((valueT) (buf[i] & 0xff) << 8 * (n - (i + 1)));
else
for (i = 0; i < n; ++i)
val = val | ((buf[i] & 0xff) << 8 * i);
val = val | ((valueT) (buf[i] & 0xff) << 8 * i);
return val;
}