[Scummvm-git-logs] scummvm master -> 617497d09454694c8601c044613e56c75b777062
csnover
csnover at users.noreply.github.com
Sun Nov 19 19:48:41 CET 2017
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
617497d094 SCI: Fix UB shifting negative integers
Commit: 617497d09454694c8601c044613e56c75b777062
https://github.com/scummvm/scummvm/commit/617497d09454694c8601c044613e56c75b777062
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-11-19T12:48:14-06:00
Commit Message:
SCI: Fix UB shifting negative integers
Changed paths:
engines/sci/decompressor.cpp
engines/sci/graphics/cursor.cpp
engines/sci/resource.cpp
diff --git a/engines/sci/decompressor.cpp b/engines/sci/decompressor.cpp
index ca2298e..158119f 100644
--- a/engines/sci/decompressor.cpp
+++ b/engines/sci/decompressor.cpp
@@ -89,7 +89,7 @@ uint32 Decompressor::getBitsLSB(int n) {
// fetching more data to buffer if needed
if (_nBits < n)
fetchBitsLSB();
- uint32 ret = (_dwBits & ~((~0) << n));
+ uint32 ret = (_dwBits & ~(0xFFFFFFFFU << n));
_dwBits >>= n;
_nBits -= n;
return ret;
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index 6b18dce..9c26d81 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -113,7 +113,7 @@ void GfxCursor::kernelSetShape(GuiResourceId resourceId) {
byte colorMapping[4];
int16 x, y;
byte color;
- int16 maskA, maskB;
+ uint16 maskA, maskB;
byte *pOut;
int16 heightWidth;
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index af2ff60..eb786bc 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -1805,7 +1805,7 @@ int ResourceManager::readResourceMapSCI0(ResourceSource *map) {
}
}
- addResource(resId, source, offset & (((~bMask) << 24) | 0xFFFFFF), 0, map->getLocationName());
+ addResource(resId, source, offset & ((((byte)~bMask) << 24) | 0xFFFFFF), 0, map->getLocationName());
}
} while (!fileStream->eos());
More information about the Scummvm-git-logs
mailing list