diff options
author | Johannes Schickel | 2009-06-08 17:47:37 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-06-08 17:47:37 +0000 |
commit | aef8d2b04bfc2f3e28a5b58e55a7a27fa9da74ee (patch) | |
tree | 8f8bcafef02fda0e8a6b53dc7ffbf0f9d55f1d81 | |
parent | 2c55c49534f79eb0f191f67511ab96ad8339d918 (diff) | |
download | scummvm-rg350-aef8d2b04bfc2f3e28a5b58e55a7a27fa9da74ee.tar.gz scummvm-rg350-aef8d2b04bfc2f3e28a5b58e55a7a27fa9da74ee.tar.bz2 scummvm-rg350-aef8d2b04bfc2f3e28a5b58e55a7a27fa9da74ee.zip |
Fix out of bounds memory access in Screen::drawShape.
svn-id: r41379
-rw-r--r-- | engines/kyra/screen.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp index 2b3a9366e6..1a28f9b48f 100644 --- a/engines/kyra/screen.cpp +++ b/engines/kyra/screen.cpp @@ -1409,6 +1409,9 @@ void Screen::drawShape(uint8 pageNum, const uint8 *shapeData, int x, int y, int _dsOffscreenLeft /= _dsScaleW; } + if (shapeHeight <= 0 || shpWidthScaled1 <= 0) + return; + if (pageNum == 0 || pageNum == 1) addDirtyRect(x, y, shpWidthScaled1, shapeHeight); clearOverlayRect(pageNum, x, y, shpWidthScaled1, shapeHeight); |