aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/smush/channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/smush/channel.cpp')
-rw-r--r--engines/scumm/smush/channel.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/engines/scumm/smush/channel.cpp b/engines/scumm/smush/channel.cpp
index 7f71d0549b..fd822f56b6 100644
--- a/engines/scumm/smush/channel.cpp
+++ b/engines/scumm/smush/channel.cpp
@@ -60,6 +60,8 @@ void SmushChannel::processBuffer() {
if (offset < _tbufferSize) {
int new_size = _tbufferSize - offset;
_tbuffer = (byte *)malloc(new_size);
+ // FIXME: _tbuffer might be 0 if new_size is 0.
+ // NB: Also check other "if (_tbuffer)" locations in smush
if (!_tbuffer)
error("smush channel failed to allocate memory");
memcpy(_tbuffer, _sbuffer + offset, new_size);
@@ -97,6 +99,8 @@ void SmushChannel::processBuffer() {
byte *old = _tbuffer;
int32 new_size = _tbufferSize - offset;
_tbuffer = (byte *)malloc(new_size);
+ // FIXME: _tbuffer might be 0 if new_size is 0.
+ // NB: Also check other "if (_tbuffer)" locations in smush
if (!_tbuffer)
error("smush channel failed to allocate memory");
memcpy(_tbuffer, old + offset, new_size);