[Scummvm-cvs-logs] scummvm master -> 0d369f716e37f5555ee636d75a3d40e3f3ff0e5f

sev- sev at scummvm.org
Thu Feb 18 10:31:28 CET 2016


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

Summary:
ab9e2fdca3 WAGE: Initialize class variables
a2dcddc06d WAGE: Safer string concatenation
b01fb9f3f3 WAGE: Plug memory leak
c3bae66b56 WAGE: Plug memory leak
51dca83011 WAGE: Safety check on parsing main game file
0d369f716e METAENGINE: Hint the compiler that we intentionally ignore pollEvents() return value


Commit: ab9e2fdca39034fad19e17e271886dc88839a201
    https://github.com/scummvm/scummvm/commit/ab9e2fdca39034fad19e17e271886dc88839a201
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:18+01:00

Commit Message:
WAGE: Initialize class variables

Changed paths:
    engines/wage/design.cpp
    engines/wage/entities.cpp
    engines/wage/entities.h
    engines/wage/menu.cpp
    engines/wage/script.cpp
    engines/wage/wage.cpp
    engines/wage/world.cpp



diff --git a/engines/wage/design.cpp b/engines/wage/design.cpp
index 247d989..3ecb02e 100644
--- a/engines/wage/design.cpp
+++ b/engines/wage/design.cpp
@@ -70,6 +70,7 @@ Design::Design(Common::SeekableReadStream *data) {
 	data->read(_data, _len);
 
 	_surface = NULL;
+	_bounds = NULL;
 }
 
 Design::~Design() {
diff --git a/engines/wage/entities.cpp b/engines/wage/entities.cpp
index f85a228..d9e4b60 100644
--- a/engines/wage/entities.cpp
+++ b/engines/wage/entities.cpp
@@ -200,6 +200,18 @@ const char *Scene::getFontName() {
 	return "Unknown";
 }
 
+Obj::Obj() : _currentOwner(NULL), _currentScene(NULL) {
+	_index = 0;
+	_namePlural = false;
+	_value = 0;
+	_attackType = 0;
+	_numberOfUses = 0;
+	_returnToRandomScene = false;
+	_type = 0;
+	_accuracy = 0;
+	_damage = 0;
+}
+
 Obj::Obj(Common::String name, Common::SeekableReadStream *data) {
 	_name = name;
 	_classType = OBJ;
diff --git a/engines/wage/entities.h b/engines/wage/entities.h
index 3010c8a..ce006a6 100644
--- a/engines/wage/entities.h
+++ b/engines/wage/entities.h
@@ -228,7 +228,7 @@ public:
 
 class Obj : public Designed {
 public:
-	Obj() : _currentOwner(NULL), _currentScene(NULL) {}
+	Obj();
 	Obj(Common::String name, Common::SeekableReadStream *data);
 	~Obj();
 
diff --git a/engines/wage/menu.cpp b/engines/wage/menu.cpp
index dfb042d..48f1642 100644
--- a/engines/wage/menu.cpp
+++ b/engines/wage/menu.cpp
@@ -130,6 +130,8 @@ Menu::Menu(Gui *gui) : _gui(gui) {
 	_items.push_back(_commands);
 	regenCommandsMenu();
 
+	_weapons = NULL;
+
 	if (!_gui->_engine->_world->_weaponMenuDisabled) {
 		_weapons = new MenuItem(_gui->_engine->_world->_weaponsMenuName.c_str());
 		_items.push_back(_weapons);
diff --git a/engines/wage/script.cpp b/engines/wage/script.cpp
index 523f1e1..b7e77df 100644
--- a/engines/wage/script.cpp
+++ b/engines/wage/script.cpp
@@ -75,6 +75,15 @@ Common::String Script::Operand::toString() {
 }
 
 Script::Script(Common::SeekableReadStream *data) : _data(data) {
+	_engine = NULL;
+	_world = NULL;
+
+	_loopCount = 0;
+	_inputText = NULL;
+	_inputClick = NULL;
+
+	_handled = false;
+
 	convertToText();
 }
 
diff --git a/engines/wage/wage.cpp b/engines/wage/wage.cpp
index 0a68ce4..1932168 100644
--- a/engines/wage/wage.cpp
+++ b/engines/wage/wage.cpp
@@ -71,10 +71,20 @@ WageEngine::WageEngine(OSystem *syst, const ADGameDescription *desc) : Engine(sy
 	_running = NULL;
 	_lastScene = NULL;
 
+	_loopCount = 0;
+	_turn = 0;
+
 	_commandWasQuick = false;
 
 	_shouldQuit = false;
 
+	_gui = NULL;
+	_world = NULL;
+	_console = NULL;
+	_offer = NULL;
+
+	_resManager = NULL;
+
 	debug("WageEngine::WageEngine()");
 }
 
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index cb6e806..066c394 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -67,6 +67,8 @@ World::World(WageEngine *engine) {
 	_saveBeforeCloseMessage = nullptr;
 	_revertMessage = nullptr;
 
+	_weaponMenuDisabled = true;
+
 	_engine = engine;
 }
 


Commit: a2dcddc06d945b443e897c8b60c1f7d5f8169637
    https://github.com/scummvm/scummvm/commit/a2dcddc06d945b443e897c8b60c1f7d5f8169637
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00

Commit Message:
WAGE: Safer string concatenation

Changed paths:
    engines/wage/world.cpp



diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 066c394..6c74911 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -509,8 +509,8 @@ const char *World::getAboutMenuItemName() {
 		const char *pos = strchr(str, '@');
 		if (pos) {
 			strncat(menu, str, (pos - str));
-			strcat(menu, _name.c_str());
-			strcat(menu, pos + 1);
+			strncat(menu, _name.c_str(), 256);
+			strncat(menu, pos + 1, 256);
 		}
 	}
 


Commit: b01fb9f3f32f3d61a6e0988988b303118719751f
    https://github.com/scummvm/scummvm/commit/b01fb9f3f32f3d61a6e0988988b303118719751f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00

Commit Message:
WAGE: Plug memory leak

Changed paths:
    engines/wage/world.cpp



diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 6c74911..63b77a5 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -359,18 +359,17 @@ void World::loadExternalSounds(Common::String fname) {
 	}
 	in.close();
 
-	Common::MacResManager *resMan;
-	resMan = new Common::MacResManager();
-	resMan->open(fname);
+	Common::MacResManager resMan;
+	resMan.open(fname);
 
 	Common::MacResIDArray resArray;
 	Common::SeekableReadStream *res;
 	Common::MacResIDArray::const_iterator iter;
 
-	resArray = resMan->getResIDArray(MKTAG('A','S','N','D'));
+	resArray = resMan.getResIDArray(MKTAG('A','S','N','D'));
 	for (iter = resArray.begin(); iter != resArray.end(); ++iter) {
-		res = resMan->getResource(MKTAG('A','S','N','D'), *iter);
-		addSound(new Sound(resMan->getResName(MKTAG('A','S','N','D'), *iter), res));
+		res = resMan.getResource(MKTAG('A','S','N','D'), *iter);
+		addSound(new Sound(resMan.getResName(MKTAG('A','S','N','D'), *iter), res));
 	}
 }
 


Commit: c3bae66b56b2258655d9d2af725f17fab94649b2
    https://github.com/scummvm/scummvm/commit/c3bae66b56b2258655d9d2af725f17fab94649b2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00

Commit Message:
WAGE: Plug memory leak

Changed paths:
    engines/wage/script.cpp
    engines/wage/world.cpp



diff --git a/engines/wage/script.cpp b/engines/wage/script.cpp
index b7e77df..42fde9f 100644
--- a/engines/wage/script.cpp
+++ b/engines/wage/script.cpp
@@ -175,6 +175,7 @@ bool Script::execute(World *world, int loopCount, Common::String *inputText, Des
 				Operand *op = readStringOperand(); // allows empty menu
 				// TODO check op type is string.
 				_engine->setMenu(op->toString());
+				delete op;
 				byte d = _data->readByte();
 				if (d != 0xFD)
 					warning("Operand 0x8B (PRINT) End Byte != 0xFD");
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 63b77a5..73abebc 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -274,6 +274,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 		for (uint i = 0; i < string.size() && string[i] != ';'; i++) // Read token
 			_aboutMenuItemName += string[i];
 
+		delete menu;
 		delete res;
 	}
 	res = resMan->getResource(MKTAG('M','E','N','U'), 2004);


Commit: 51dca8301190736ffe5fb09c986452957aa05017
    https://github.com/scummvm/scummvm/commit/51dca8301190736ffe5fb09c986452957aa05017
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:34+01:00

Commit Message:
WAGE: Safety check on parsing main game file

Changed paths:
    engines/wage/wage.cpp



diff --git a/engines/wage/wage.cpp b/engines/wage/wage.cpp
index 1932168..8886b0d 100644
--- a/engines/wage/wage.cpp
+++ b/engines/wage/wage.cpp
@@ -109,7 +109,8 @@ Common::Error WageEngine::run() {
 
 	// Your main event loop should be (invoked from) here.
 	_resManager = new Common::MacResManager();
-	_resManager->open(getGameFile());
+	if (!_resManager->open(getGameFile()))
+		error("Could not open %s as a resource fork", getGameFile());
 
 	_world = new World(this);
 


Commit: 0d369f716e37f5555ee636d75a3d40e3f3ff0e5f
    https://github.com/scummvm/scummvm/commit/0d369f716e37f5555ee636d75a3d40e3f3ff0e5f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-02-18T10:30:35+01:00

Commit Message:
METAENGINE: Hint the compiler that we intentionally ignore pollEvents() return value

Changed paths:
    engines/engine.cpp



diff --git a/engines/engine.cpp b/engines/engine.cpp
index 475cc77..d3b9b11 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -292,7 +292,7 @@ void splashScreen() {
 	Common::Event event;
 	while (time0 + 600 > g_system->getMillis()) {
 		g_system->updateScreen();
-		g_system->getEventManager()->pollEvent(event);
+		(void)g_system->getEventManager()->pollEvent(event);
 		g_system->delayMillis(10);
 	}
 	g_system->hideOverlay();






More information about the Scummvm-git-logs mailing list