aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph-Eugene Winzer2018-11-22 22:43:39 +0100
committerJoseph-Eugene Winzer2019-02-06 09:42:11 +0100
commit5ff4764442b3829e2664e35f211a6c78c49ae11e (patch)
treed26f33ad99a7751385ce08b295c441db3af6ea3e
parent498de6347e969720958960e9fea266fad9959c4c (diff)
downloadscummvm-rg350-5ff4764442b3829e2664e35f211a6c78c49ae11e.tar.gz
scummvm-rg350-5ff4764442b3829e2664e35f211a6c78c49ae11e.tar.bz2
scummvm-rg350-5ff4764442b3829e2664e35f211a6c78c49ae11e.zip
SUPERNOVA: Fixes possible OOB read
-rw-r--r--engines/supernova/screen.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/supernova/screen.cpp b/engines/supernova/screen.cpp
index 105025e363..1fa112bb05 100644
--- a/engines/supernova/screen.cpp
+++ b/engines/supernova/screen.cpp
@@ -385,15 +385,15 @@ void Screen::renderImage(ImageId id, bool removeImage) {
}
void Screen::renderImage(int section) {
- if (!_currentImage)
- return;
-
bool removeImage = false;
if (section > 128) {
removeImage = true;
section -= 128;
}
+ if (!_currentImage || section >= kMaxSection)
+ return;
+
do {
renderImageSection(_currentImage, section, removeImage);
section = _currentImage->_section[section].next;