diff options
author | Johannes Schickel | 2009-08-17 12:47:57 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-08-17 12:47:57 +0000 |
commit | e548e71ba1092a1091da79c5d4652c9d52578e65 (patch) | |
tree | 029a1539daca847c99223d0b66edf2a9514ed259 /engines | |
parent | 09a8fa4efb531b9420a621419101ceb2cad6f407 (diff) | |
download | scummvm-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')
-rw-r--r-- | engines/kyra/screen.cpp | 3 |
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; |