[Scummvm-git-logs] scummvm master -> 54f42fb532247c323f6eab2e2d56a41b4f059fe0

sev- sev at scummvm.org
Mon Jan 20 22:24:13 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
54f42fb532 DIRECTOR: Added sanity check for reading BITD images


Commit: 54f42fb532247c323f6eab2e2d56a41b4f059fe0
    https://github.com/scummvm/scummvm/commit/54f42fb532247c323f6eab2e2d56a41b4f059fe0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-20T23:16:11+01:00

Commit Message:
DIRECTOR: Added sanity check for reading BITD images

Changed paths:
    engines/director/images.cpp


diff --git a/engines/director/images.cpp b/engines/director/images.cpp
index bff1a6a..723a19e 100644
--- a/engines/director/images.cpp
+++ b/engines/director/images.cpp
@@ -202,6 +202,16 @@ bool BITDDecoder::loadStream(Common::SeekableReadStream &stream) {
 			stream.readUint16BE();
 	}
 
+	if (pixels.size() < _surface->pitch * _surface->h) {
+		int tail = _surface->pitch * _surface->h - pixels.size();
+
+		warning("BITDDecoder::loadStream(): premature end of stream (%d of %d pixels)",
+			pixels.size(), pixels.size() + tail);
+
+		for (int i = 0; i < tail; i++)
+			pixels.push_back(0);
+	}
+
 	int offset = 0;
 	if (_surface->w < (pixels.size() / _surface->h))
 		offset = (pixels.size() / _surface->h) - _surface->w;




More information about the Scummvm-git-logs mailing list