[Scummvm-cvs-logs] SF.net SVN: scummvm:[48908] scummvm/trunk/engines/sci/engine/kfile.cpp
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Mon May 3 15:55:49 CEST 2010
Revision: 48908
http://scummvm.svn.sourceforge.net/scummvm/?rev=48908&view=rev
Author: m_kiewitz
Date: 2010-05-03 13:55:49 +0000 (Mon, 03 May 2010)
Log Message:
-----------
SCI: fix possible heap error
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/kfile.cpp
Modified: scummvm/trunk/engines/sci/engine/kfile.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kfile.cpp 2010-05-03 13:41:19 UTC (rev 48907)
+++ scummvm/trunk/engines/sci/engine/kfile.cpp 2010-05-03 13:55:49 UTC (rev 48908)
@@ -229,16 +229,17 @@
error("fgets_wrapper: Trying to read from file '%s' opened for writing", f->_name.c_str());
return;
}
- if (maxsize > 1)
+ if (maxsize > 1) {
+ memset(dest, 0, maxsize);
f->_in->readLine(dest, maxsize);
- else
+ // The returned string must not have an ending LF
+ int strSize = strlen(dest);
+ if (strSize > 0) {
+ if (dest[strSize - 1] == 0x0A)
+ dest[strSize - 1] = 0;
+ }
+ } else {
*dest = f->_in->readByte();
-
- // The returned string must not have an ending LF
- int strSize = strlen(dest);
- if (strSize > 0) {
- if (dest[strSize - 1] == 0x0A)
- dest[strSize - 1] = 0;
}
debugC(2, kDebugLevelFile, "FGets'ed \"%s\"", dest);
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