[Scummvm-cvs-logs] SF.net SVN: scummvm:[53473] scummvm/trunk/engines/drascula

sev at users.sourceforge.net sev at users.sourceforge.net
Fri Oct 15 11:08:54 CEST 2010


Revision: 53473
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53473&view=rev
Author:   sev
Date:     2010-10-15 09:08:54 +0000 (Fri, 15 Oct 2010)

Log Message:
-----------
DRASCULA: Fix some code analysis warnings (bug #3087830)

Modified Paths:
--------------
    scummvm/trunk/engines/drascula/resource.cpp
    scummvm/trunk/engines/drascula/rooms.cpp
    scummvm/trunk/engines/drascula/saveload.cpp

Modified: scummvm/trunk/engines/drascula/resource.cpp
===================================================================
--- scummvm/trunk/engines/drascula/resource.cpp	2010-10-15 08:57:18 UTC (rev 53472)
+++ scummvm/trunk/engines/drascula/resource.cpp	2010-10-15 09:08:54 UTC (rev 53473)
@@ -92,13 +92,19 @@
 void TextResourceParser::parseInt(int &result) {
 	char buf[256];
 	getLine(buf);
-	sscanf(buf, "%d", &result);
+
+	if (!sscanf(buf, "%d", &result)) {
+		result = 0;
+	}
 }
 
 void TextResourceParser::parseString(char* result) {
 	char buf[256];
 	getLine(buf);
-	sscanf(buf, "%s", result);
+
+	if (!sscanf(buf, "%s", result)) {
+		*result = 0;
+	}
 }
 
 

Modified: scummvm/trunk/engines/drascula/rooms.cpp
===================================================================
--- scummvm/trunk/engines/drascula/rooms.cpp	2010-10-15 08:57:18 UTC (rev 53472)
+++ scummvm/trunk/engines/drascula/rooms.cpp	2010-10-15 09:08:54 UTC (rev 53473)
@@ -1945,7 +1945,9 @@
 			hare_se_ve = 1;
 
 		clearRoom();
-		sscanf(_targetSurface[doorNumber], "%d", &roomNum);
+		if (!sscanf(_targetSurface[doorNumber], "%d", &roomNum)) {
+			error("Malformed roomNum in targetSurface (%s)", _targetSurface[doorNumber]);
+		}
 		curX = -1;
 		enterRoom(roomNum);
 

Modified: scummvm/trunk/engines/drascula/saveload.cpp
===================================================================
--- scummvm/trunk/engines/drascula/saveload.cpp	2010-10-15 08:57:18 UTC (rev 53472)
+++ scummvm/trunk/engines/drascula/saveload.cpp	2010-10-15 09:08:54 UTC (rev 53473)
@@ -221,7 +221,9 @@
 	takeObject = sav->readSint32LE();
 	pickedObject = sav->readSint32LE();
 	loadedDifferentChapter = 0;
-	sscanf(currentData, "%d.ald", &roomNum);
+	if (!sscanf(currentData, "%d.ald", &roomNum)) {
+		error("Bad save format");
+	}
 	enterRoom(roomNum);
 	selectVerb(kVerbNone);
 


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