diff options
| author | Eugene Sandulenko | 2010-10-15 09:08:54 +0000 | 
|---|---|---|
| committer | Eugene Sandulenko | 2010-10-15 09:08:54 +0000 | 
| commit | 9b9e8f7d8dd8858d49c9dabbf07eab0cde6ec919 (patch) | |
| tree | 234a4192018c6c52e7ef83276292f08a84112151 | |
| parent | b0923dfd763efc88bf9ecc6870cbe4b97605ab13 (diff) | |
| download | scummvm-rg350-9b9e8f7d8dd8858d49c9dabbf07eab0cde6ec919.tar.gz scummvm-rg350-9b9e8f7d8dd8858d49c9dabbf07eab0cde6ec919.tar.bz2 scummvm-rg350-9b9e8f7d8dd8858d49c9dabbf07eab0cde6ec919.zip | |
DRASCULA: Fix some code analysis warnings (bug #3087830)
svn-id: r53473
| -rw-r--r-- | engines/drascula/resource.cpp | 10 | ||||
| -rw-r--r-- | engines/drascula/rooms.cpp | 4 | ||||
| -rw-r--r-- | engines/drascula/saveload.cpp | 4 | 
3 files changed, 14 insertions, 4 deletions
| diff --git a/engines/drascula/resource.cpp b/engines/drascula/resource.cpp index 1226bc2e10..57be51da43 100644 --- a/engines/drascula/resource.cpp +++ b/engines/drascula/resource.cpp @@ -92,13 +92,19 @@ void TextResourceParser::getLine(char *buf) {  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; +	}  } diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp index 57bfad26af..c6dd9f29db 100644 --- a/engines/drascula/rooms.cpp +++ b/engines/drascula/rooms.cpp @@ -1945,7 +1945,9 @@ bool DrasculaEngine::exitRoom(int doorNumber) {  			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); diff --git a/engines/drascula/saveload.cpp b/engines/drascula/saveload.cpp index 4aaec5ec0e..4c288553a2 100644 --- a/engines/drascula/saveload.cpp +++ b/engines/drascula/saveload.cpp @@ -221,7 +221,9 @@ bool DrasculaEngine::loadGame(const char *gameName) {  	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); | 
