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 /engines/drascula | |
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
Diffstat (limited to 'engines/drascula')
-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); |