aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorSven Hesse2009-07-14 08:57:55 +0000
committerSven Hesse2009-07-14 08:57:55 +0000
commitaac58c80cc6f21c3ee7dc402520a219c3098d688 (patch)
tree03d729ccadd25639712841b64172734e0100f0df /graphics
parentdbf968b49e44cc6e0ddf5b04ba2bf1396c42cb59 (diff)
downloadscummvm-rg350-aac58c80cc6f21c3ee7dc402520a219c3098d688.tar.gz
scummvm-rg350-aac58c80cc6f21c3ee7dc402520a219c3098d688.tar.bz2
scummvm-rg350-aac58c80cc6f21c3ee7dc402520a219c3098d688.zip
Removing ioFailed() usage and fixing a leak in case of error
svn-id: r42469
Diffstat (limited to 'graphics')
-rw-r--r--graphics/video/coktelvideo/coktelvideo.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/graphics/video/coktelvideo/coktelvideo.cpp b/graphics/video/coktelvideo/coktelvideo.cpp
index 995247acaa..39aa8c5d2d 100644
--- a/graphics/video/coktelvideo/coktelvideo.cpp
+++ b/graphics/video/coktelvideo/coktelvideo.cpp
@@ -1819,16 +1819,18 @@ Common::MemoryReadStream *Vmd::getExtraData(const char *fileName) {
return 0;
}
- byte *data = (byte *) malloc(_extraData[i].realSize);
-
- _stream->seek(_extraData[i].offset);
- if (_stream->ioFailed() || (((uint32) _stream->pos()) != _extraData[i].offset)) {
- warning("Vmd::getExtraData(): Can't seek to offset %d to get extra data file \"%s\"",
+ if (!_stream->seek(_extraData[i].offset)) {
+ warning("Vmd::getExtraData(): Can't seek to offset %d to (file \"%s\")",
_extraData[i].offset, fileName);
return 0;
}
- _stream->read(data, _extraData[i].realSize);
+ byte *data = (byte *) malloc(_extraData[i].realSize);
+ if (_stream->read(data, _extraData[i].realSize) != _extraData[i].realSize) {
+ free(data);
+ warning("Vmd::getExtraData(): Couldn't read %d bytes (file \"%s\")",
+ _extraData[i].realSize, fileName);
+ }
Common::MemoryReadStream *stream =
new Common::MemoryReadStream(data, _extraData[i].realSize, true);