[Scummvm-cvs-logs] SF.net SVN: scummvm:[54029] scummvm/trunk/engines/tinsel

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Mon Nov 1 22:06:04 CET 2010


Revision: 54029
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54029&view=rev
Author:   fingolfin
Date:     2010-11-01 21:06:04 +0000 (Mon, 01 Nov 2010)

Log Message:
-----------
TINSEL: Fix a leak in DW2, and a potential OOB in NextTaggedActor

Modified Paths:
--------------
    scummvm/trunk/engines/tinsel/actors.cpp
    scummvm/trunk/engines/tinsel/sched.cpp

Modified: scummvm/trunk/engines/tinsel/actors.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/actors.cpp	2010-11-01 20:59:17 UTC (rev 54028)
+++ scummvm/trunk/engines/tinsel/actors.cpp	2010-11-01 21:06:04 UTC (rev 54029)
@@ -199,6 +199,10 @@
 void FreeActors() {
 	free(actorInfo);
 	actorInfo = NULL;
+	if (TinselV2) {
+		free(zFactors);
+		zFactors = NULL;
+	}
 }
 
 /**
@@ -625,7 +629,7 @@
 	PMOVER	pActor;
 	bool	hid;
 
-	do {
+	while (ti < NumActors); {
 		if (actorInfo[ti].tagged) {
 			pActor = GetMover(ti+1);
 			if (pActor)
@@ -637,6 +641,7 @@
 				return ++ti;
 			}
 		}
+		++ti;
 	} while (++ti < NumActors);
 
 	return 0;

Modified: scummvm/trunk/engines/tinsel/sched.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/sched.cpp	2010-11-01 20:59:17 UTC (rev 54028)
+++ scummvm/trunk/engines/tinsel/sched.cpp	2010-11-01 21:06:04 UTC (rev 54029)
@@ -760,6 +760,7 @@
  */
 void FreeGlobalProcesses() {
 	delete[] pGlobalProcess;
+	pGlobalProcess = 0;
 	numGlobalProcess = 0;
 }
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list