[Scummvm-cvs-logs] SF.net SVN: scummvm:[53563] scummvm/trunk/engines/sword25

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Mon Oct 18 12:26:27 CEST 2010


Revision: 53563
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53563&view=rev
Author:   dreammaster
Date:     2010-10-18 10:26:27 +0000 (Mon, 18 Oct 2010)

Log Message:
-----------
SWORD25: Fix for Valgrind identified errors

Modified Paths:
--------------
    scummvm/trunk/engines/sword25/gfx/image/b25sloader.cpp
    scummvm/trunk/engines/sword25/package/packagemanager.cpp

Modified: scummvm/trunk/engines/sword25/gfx/image/b25sloader.cpp
===================================================================
--- scummvm/trunk/engines/sword25/gfx/image/b25sloader.cpp	2010-10-18 04:25:53 UTC (rev 53562)
+++ scummvm/trunk/engines/sword25/gfx/image/b25sloader.cpp	2010-10-18 10:26:27 UTC (rev 53563)
@@ -49,22 +49,25 @@
 static Common::String LoadString(Common::ReadStream &In, uint MaxSize = 999) {
 	Common::String Result;
 
-	char ch = (char)In.readByte();
-	while ((ch != '\0') && (ch != ' ')) {
+	while (!In.eos() && (Result.size() < MaxSize)) {
+		char ch = (char)In.readByte();
+		if ((ch == '\0') || (ch == ' '))
+			break;
+
 		Result += ch;
-		if (Result.size() >= MaxSize) break;
-		ch = (char)In.readByte();
 	}
 
 	return Result;
 }
 
 uint FindEmbeddedPNG(const byte *FileDataPtr, uint FileSize) {
+	assert(FileSize >= 100);
 	if (memcmp(FileDataPtr, "BS25SAVEGAME", 12))
 		return 0;
 
 	// Read in the header
 	Common::MemoryReadStream stream(FileDataPtr, FileSize);
+	stream.seek(0, SEEK_SET);
 
 	// Headerinformationen der Spielstandes einlesen.
 	uint compressedGamedataSize;

Modified: scummvm/trunk/engines/sword25/package/packagemanager.cpp
===================================================================
--- scummvm/trunk/engines/sword25/package/packagemanager.cpp	2010-10-18 04:25:53 UTC (rev 53562)
+++ scummvm/trunk/engines/sword25/package/packagemanager.cpp	2010-10-18 10:26:27 UTC (rev 53563)
@@ -160,7 +160,7 @@
 			return 0;
 		}
 
-		if (*fileSizePtr)
+		if (fileSizePtr)
 			*fileSizePtr = file->size();
 
 		byte *buffer = new byte[file->size()];


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