[Scummvm-cvs-logs] SF.net SVN: scummvm:[50232] scummvm/trunk/engines/sci/engine/seg_manager. cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Thu Jun 24 22:40:57 CEST 2010


Revision: 50232
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50232&view=rev
Author:   m_kiewitz
Date:     2010-06-24 20:40:57 +0000 (Thu, 24 Jun 2010)

Log Message:
-----------
SCI: correctly put NUL inside SegManager::strncpy() even when using n = 0xFFFFFFFFU

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/seg_manager.cpp

Modified: scummvm/trunk/engines/sci/engine/seg_manager.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/seg_manager.cpp	2010-06-24 20:10:51 UTC (rev 50231)
+++ scummvm/trunk/engines/sci/engine/seg_manager.cpp	2010-06-24 20:40:57 UTC (rev 50232)
@@ -649,14 +649,15 @@
 			::strncpy((char *)dest_r.raw, src, n);
 	} else {
 		// raw -> non-raw
-		for (uint i = 0; i < n; i++) {
+		uint i;
+		for (i = 0; i < n; i++) {
 			setChar(dest_r, i, src[i]);
 			if (!src[i])
 				break;
 		}
 		// Put an ending NUL to terminate the string
-		if ((size_t)dest_r.maxSize > n)
-			setChar(dest_r, n, 0);
+		if ((size_t)dest_r.maxSize > i)
+			setChar(dest_r, i, 0);
 	}
 }
 


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