[Scummvm-git-logs] scummvm master -> 16a6f22b4cadd2d2c1815fae35e3b0deaf39724c

djsrv dservilla at gmail.com
Wed Jul 7 03:35:32 UTC 2021


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

Summary:
0294513802 DIRECTOR: Fix uninitialized fields
9ec8fbb649 DIRECTOR: Fix resource leaks
1f26871c97 DIRECTOR: LINGO: Check if end is non-negative before using
16a6f22b4c DIRECTOR: LINGO: Remove _methodVarsStash


Commit: 02945138028daa23e597f0fb9f8168e08c4591b5
    https://github.com/scummvm/scummvm/commit/02945138028daa23e597f0fb9f8168e08c4591b5
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:33:09-04:00

Commit Message:
DIRECTOR: Fix uninitialized fields

Changed paths:
    engines/director/archive.cpp
    engines/director/cast.cpp
    engines/director/cast.h
    engines/director/castmember.cpp
    engines/director/lingo/lingo-codegen.cpp


diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index d1d52b4739..0b0e7a1ac5 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -395,6 +395,7 @@ Common::SeekableReadStreamEndian *RIFFArchive::getResource(uint32 tag, uint16 id
 RIFXArchive::RIFXArchive() : Archive() {
 	_isBigEndian = true;
 	_rifxType = 0;
+	_ilsBodyOffset = 0;
 }
 
 RIFXArchive::~RIFXArchive() {
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 4cc727b5b3..20afc41677 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -79,6 +79,8 @@ Cast::Cast(Movie *movie, uint16 castLibID, bool isShared) {
 	_version = 0;
 	_platform = g_director->getPlatform();
 
+	_stageColor = 0;
+
 	_loadedStxts = nullptr;
 	_loadedCast = nullptr;
 
diff --git a/engines/director/cast.h b/engines/director/cast.h
index 90e6cbd691..3ecb7b76f4 100644
--- a/engines/director/cast.h
+++ b/engines/director/cast.h
@@ -62,7 +62,7 @@ struct FontInfo {
 	bool remapChars;
 	FontSizeMap sizeMap;
 
-	FontInfo() : remapChars(false) {}
+	FontInfo() : toFont(0), remapChars(false) {}
 };
 typedef Common::HashMap<uint16, FontInfo *> FontMap;
 
diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index 68ec6ec93c..d4ff03a564 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -48,6 +48,8 @@ CastMember::CastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndi
 	_modified = true;
 
 	_objType = kCastMemberObj;
+
+	_widget = nullptr;
 }
 
 CastMemberInfo *CastMember::getInfo() {
@@ -259,6 +261,7 @@ DigitalVideoCastMember::DigitalVideoCastMember(Cast *cast, uint16 castId, Common
 	_type = kCastDigitalVideo;
 	_video = nullptr;
 	_lastFrame = nullptr;
+	_channel = nullptr;
 
 	_getFirstFrame = false;
 	_duration = 0;
@@ -541,7 +544,6 @@ TextCastMember::TextCastMember(Cast *cast, uint16 castId, Common::SeekableReadSt
 	_textSlant = 0;
 	_bgpalinfo1 = _bgpalinfo2 = _bgpalinfo3 = 0;
 	_fgpalinfo1 = _fgpalinfo2 = _fgpalinfo3 = 0xff;
-	_widget = nullptr;
 
 	if (version < kFileVer400) {
 		_flags1 = flags1; // region: 0 - auto, 1 - matte, 2 - disabled
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 1114cd78fd..85f310c2ea 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -81,6 +81,7 @@ LingoCompiler::LingoCompiler() {
 	_assemblyContext = nullptr;
 
 	_indef = false;
+	_methodVars = nullptr;
 
 	_linenumber = _colnumber = _bytenumber = 0;
 	_lines[0] = _lines[1] = _lines[2] = nullptr;


Commit: 9ec8fbb649c8b08d842b39af6cb238a1f8179197
    https://github.com/scummvm/scummvm/commit/9ec8fbb649c8b08d842b39af6cb238a1f8179197
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:33:14-04:00

Commit Message:
DIRECTOR: Fix resource leaks

Changed paths:
    engines/director/archive.cpp
    engines/director/lingo/lingo.cpp


diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index 0b0e7a1ac5..7c028bd21e 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -493,10 +493,9 @@ bool RIFXArchive::openStream(Common::SeekableReadStream *stream, uint32 startOff
 		} else {
 			warning("RIFXArchive::openStream(): Can not open dump file %s", buf);
 		}
-
-		free(dumpData);
-		delete dumpStream;
 	}
+	free(dumpData);
+	delete dumpStream;
 
 	// If we couldn't read the map, we can't do anything past this point.
 	if (!readMapSuccess)
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 519f3eb333..ff4844ba19 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -196,6 +196,7 @@ Lingo::~Lingo() {
 	resetLingo();
 	cleanupFuncs();
 	cleanupMethods();
+	delete _compiler;
 }
 
 void Lingo::reloadBuiltIns() {


Commit: 1f26871c97d733a1c780c5c20c5d2d1c2292c172
    https://github.com/scummvm/scummvm/commit/1f26871c97d733a1c780c5c20c5d2d1c2292c172
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:35:25-04:00

Commit Message:
DIRECTOR: LINGO: Check if end is non-negative before using

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


diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 882479e683..6ae505bfb8 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1623,7 +1623,10 @@ void LC::c_delete() {
 		}
 	}
 
-	Common::String res = text.substr(0, start) + text.substr(end);
+	Common::String res = text.substr(0, start);
+	if (end >= 0) {
+		res += text.substr(end);
+	}
 	Datum s;
 	s.u.s = new Common::String(res);
 	s.type = STRING;


Commit: 16a6f22b4cadd2d2c1815fae35e3b0deaf39724c
    https://github.com/scummvm/scummvm/commit/16a6f22b4cadd2d2c1815fae35e3b0deaf39724c
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:35:32-04:00

Commit Message:
DIRECTOR: LINGO: Remove _methodVarsStash

Changed paths:
    engines/director/lingo/lingo-codegen.h


diff --git a/engines/director/lingo/lingo-codegen.h b/engines/director/lingo/lingo-codegen.h
index 8e69ec9e99..251e08951f 100644
--- a/engines/director/lingo/lingo-codegen.h
+++ b/engines/director/lingo/lingo-codegen.h
@@ -69,7 +69,6 @@ public:
 	bool _refMode;
 
 	Common::HashMap<Common::String, VarType, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> *_methodVars;
-	Common::HashMap<Common::String, VarType, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> *_methodVarsStash;
 
 	bool _hadError;
 




More information about the Scummvm-git-logs mailing list