[Scummvm-cvs-logs] SF.net SVN: scummvm:[42469] scummvm/trunk/graphics/video/coktelvideo/ coktelvideo.cpp

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Tue Jul 14 10:57:56 CEST 2009


Revision: 42469
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42469&view=rev
Author:   drmccoy
Date:     2009-07-14 08:57:55 +0000 (Tue, 14 Jul 2009)

Log Message:
-----------
Removing ioFailed() usage and fixing a leak in case of error

Modified Paths:
--------------
    scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp

Modified: scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp
===================================================================
--- scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp	2009-07-14 08:36:06 UTC (rev 42468)
+++ scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp	2009-07-14 08:57:55 UTC (rev 42469)
@@ -1819,16 +1819,18 @@
 		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);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list