[Scummvm-cvs-logs] SF.net SVN: scummvm:[51665] scummvm/trunk/engines/sci/engine/kernel.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Tue Aug 3 00:12:45 CEST 2010


Revision: 51665
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51665&view=rev
Author:   m_kiewitz
Date:     2010-08-02 22:12:45 +0000 (Mon, 02 Aug 2010)

Log Message:
-----------
SCI: fixing leak kernel subfunctions

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kernel.cpp

Modified: scummvm/trunk/engines/sci/engine/kernel.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.cpp	2010-08-02 21:57:17 UTC (rev 51664)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2010-08-02 22:12:45 UTC (rev 51665)
@@ -43,8 +43,17 @@
 }
 
 Kernel::~Kernel() {
-	for (KernelFunctionArray::iterator i = _kernelFuncs.begin(); i != _kernelFuncs.end(); ++i)
-		delete[] i->signature;
+	for (KernelFunctionArray::iterator it = _kernelFuncs.begin(); it != _kernelFuncs.end(); ++it) {
+		if (it->subFunctionCount) {
+			uint16 subFunctionNr = 0;
+			while (subFunctionNr < it->subFunctionCount) {
+				delete[] it->subFunctions[subFunctionNr].signature;
+				subFunctionNr++;
+			}
+			delete[] it->subFunctions;
+		}
+		delete[] it->signature;
+	}
 }
 
 uint Kernel::getSelectorNamesSize() const {


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