diff options
author | Joseph-Eugene Winzer | 2018-11-22 22:43:39 +0100 |
---|---|---|
committer | Joseph-Eugene Winzer | 2019-02-06 09:42:11 +0100 |
commit | 5ff4764442b3829e2664e35f211a6c78c49ae11e (patch) | |
tree | d26f33ad99a7751385ce08b295c441db3af6ea3e | |
parent | 498de6347e969720958960e9fea266fad9959c4c (diff) | |
download | scummvm-rg350-5ff4764442b3829e2664e35f211a6c78c49ae11e.tar.gz scummvm-rg350-5ff4764442b3829e2664e35f211a6c78c49ae11e.tar.bz2 scummvm-rg350-5ff4764442b3829e2664e35f211a6c78c49ae11e.zip |
SUPERNOVA: Fixes possible OOB read
-rw-r--r-- | engines/supernova/screen.cpp | 6 |
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; |