[Scummvm-git-logs] scummvm master -> a12eb79b18b4b549a8bc230ee898f34bc0eea187

rvanlaar roland at rolandvanlaar.nl
Sun Jul 12 21:37:34 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:
a12eb79b18 DIRECTOR: LINGO: define size in Lnam header


Commit: a12eb79b18b4b549a8bc230ee898f34bc0eea187
    https://github.com/scummvm/scummvm/commit/a12eb79b18b4b549a8bc230ee898f34bc0eea187
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2020-07-12T23:26:34+02:00

Commit Message:
DIRECTOR: LINGO: define size in Lnam header

Lnam headers have their size specified twice.
Use this size as a check if the stream is complete.

Changed paths:
    engines/director/lingo/lingo-bytecode.cpp


diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 88c4be9424..e59a70e508 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -1476,14 +1476,13 @@ void LingoArchive::addNamesV4(Common::SeekableSubReadStreamEndian &stream) {
 	stream.readUint16();
 	stream.readUint16();
 	stream.readUint16();
-	stream.readUint16();
-	stream.readUint16();
-	stream.readUint16();
-	stream.readUint16();
+
+	uint32 size = stream.readUint32(); // size of Lnam
+	stream.readUint32(); // size of Lnam again
 	uint16 offset = stream.readUint16();
 	uint16 count = stream.readUint16();
 
-	if (stream.size() < offset) {
+	if (stream.size() != size) {
 		warning("Lnam content missing");
 		return;
 	}




More information about the Scummvm-git-logs mailing list