aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2009-08-17 12:47:57 +0000
committerJohannes Schickel2009-08-17 12:47:57 +0000
commite548e71ba1092a1091da79c5d4652c9d52578e65 (patch)
tree029a1539daca847c99223d0b66edf2a9514ed259 /engines/kyra
parent09a8fa4efb531b9420a621419101ceb2cad6f407 (diff)
downloadscummvm-rg350-e548e71ba1092a1091da79c5d4652c9d52578e65.tar.gz
scummvm-rg350-e548e71ba1092a1091da79c5d4652c9d52578e65.tar.bz2
scummvm-rg350-e548e71ba1092a1091da79c5d4652c9d52578e65.zip
Fix possible out of bounds access in Screen::drawShape.
svn-id: r43475
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/screen.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp
index 73a3e675e8..f5570acd72 100644
--- a/engines/kyra/screen.cpp
+++ b/engines/kyra/screen.cpp
@@ -1253,8 +1253,7 @@ void Screen::drawShape(uint8 pageNum, const uint8 *shapeData, int x, int y, int
}
if (flags & 0x200) {
- ++_drawShapeVar1;
- _drawShapeVar1 &= (_vm->gameFlags().gameID == GI_KYRA1) ? 0x7 : 0xF;
+ _drawShapeVar1 = (_drawShapeVar1 + 1) & 0x7;
_drawShapeVar3 = drawShapeVar2[_drawShapeVar1];
_drawShapeVar4 = 0;
_drawShapeVar5 = 256;