aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorLittleboy2012-08-13 00:05:38 -0400
committerLittleboy2012-08-27 21:49:33 -0400
commitcd5e750a7fdfa0c2ac7904d24b7d8e5a06eff99a (patch)
tree786405bc501813c293298832245c4a25f2df4004 /engines
parent4b05031042387ad9118690a77e1681165296bdec (diff)
downloadscummvm-rg350-cd5e750a7fdfa0c2ac7904d24b7d8e5a06eff99a.tar.gz
scummvm-rg350-cd5e750a7fdfa0c2ac7904d24b7d8e5a06eff99a.tar.bz2
scummvm-rg350-cd5e750a7fdfa0c2ac7904d24b7d8e5a06eff99a.zip
LASTEXPRESS: Fix analysis warnings
Diffstat (limited to 'engines')
-rw-r--r--engines/lastexpress/data/background.cpp1
-rw-r--r--engines/lastexpress/debug.cpp3
-rw-r--r--engines/lastexpress/sound/queue.cpp6
3 files changed, 10 insertions, 0 deletions
diff --git a/engines/lastexpress/data/background.cpp b/engines/lastexpress/data/background.cpp
index 3d866c26f9..60379251a3 100644
--- a/engines/lastexpress/data/background.cpp
+++ b/engines/lastexpress/data/background.cpp
@@ -107,6 +107,7 @@ byte *Background::decodeComponent(Common::SeekableReadStream *in, uint32 inSize,
return NULL;
// Initialize the decoding
+ memset(out, 0, outSize * sizeof(byte));
uint32 inPos = 0;
uint32 outPos = 0;
diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index f89ad8b80d..55fb469da3 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -139,6 +139,9 @@ void Debugger::copyCommand(int argc, const char **argv) {
for (int i = 0; i < _numParams; i++) {
_commandParams[i] = (char *)malloc(strlen(argv[i]) + 1);
+ if (_commandParams[i] == NULL)
+ error("[Debugger::copyCommand] Cannot allocate memory for command parameters");
+
memset(_commandParams[i], 0, strlen(argv[i]) + 1);
strcpy(_commandParams[i], argv[i]);
}
diff --git a/engines/lastexpress/sound/queue.cpp b/engines/lastexpress/sound/queue.cpp
index d72acfd8a0..8904b48930 100644
--- a/engines/lastexpress/sound/queue.cpp
+++ b/engines/lastexpress/sound/queue.cpp
@@ -67,6 +67,8 @@ void SoundQueue::handleTimer() {
for (Common::List<SoundEntry *>::iterator i = _soundList.begin(); i != _soundList.end(); ++i) {
SoundEntry *entry = (*i);
+ if (entry == NULL)
+ error("[SoundQueue::handleTimer] Invalid entry found in sound queue");
// When the entry has stopped playing, we remove his buffer
if (entry->isFinished()) {
@@ -123,6 +125,8 @@ void SoundQueue::updateQueue() {
for (Common::List<SoundEntry *>::iterator it = _soundList.begin(); it != _soundList.end(); ++it) {
SoundEntry *entry = *it;
+ if (entry == NULL)
+ error("[SoundQueue::updateQueue] Invalid entry found in sound queue");
// Original removes the entry data from the cache and sets the archive as not loaded
// and if the sound data buffer is not full, loads a new entry to be played based on
@@ -179,6 +183,8 @@ void SoundQueue::clearQueue() {
for (Common::List<SoundEntry *>::iterator i = _soundList.begin(); i != _soundList.end(); ++i) {
SoundEntry *entry = (*i);
+ if (entry == NULL)
+ error("[SoundQueue::clearQueue] Invalid entry found in sound queue");
// Delete entry
entry->close();