mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-10 10:01:42 +00:00
[SystemZ] Fix fallout from r288374
Avoid undefined behavior due to too-large shift count. llvm-svn: 288391
This commit is contained in:
parent
cf26d56390
commit
d36b31d03f
@ -101,7 +101,8 @@ void SystemZMCAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
|
||||
|
||||
// Big-endian insertion of Size bytes.
|
||||
Value = extractBitsForFixup(Kind, Value);
|
||||
Value &= ((uint64_t)1 << BitSize) - 1;
|
||||
if (BitSize < 64)
|
||||
Value &= ((uint64_t)1 << BitSize) - 1;
|
||||
unsigned ShiftValue = (Size * 8) - 8;
|
||||
for (unsigned I = 0; I != Size; ++I) {
|
||||
Data[Offset + I] |= uint8_t(Value >> ShiftValue);
|
||||
|
Loading…
Reference in New Issue
Block a user