[Scummvm-cvs-logs] SF.net SVN: scummvm:[46944] scummvm/trunk/engines/tinsel/detection.cpp

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Sun Jan 3 21:42:51 CET 2010


Revision: 46944
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46944&view=rev
Author:   eriktorbjorn
Date:     2010-01-03 20:42:51 +0000 (Sun, 03 Jan 2010)

Log Message:
-----------
Don't uses strcpy() on overlapping memory areas. It's undefined.

Modified Paths:
--------------
    scummvm/trunk/engines/tinsel/detection.cpp

Modified: scummvm/trunk/engines/tinsel/detection.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/detection.cpp	2010-01-03 20:18:36 UTC (rev 46943)
+++ scummvm/trunk/engines/tinsel/detection.cpp	2010-01-03 20:42:51 UTC (rev 46944)
@@ -756,7 +756,12 @@
 			char tempFilename[50];
 			strcpy(tempFilename, fileDesc->fileName);
 			char *pOne = strchr(tempFilename, '1');
-			if (pOne) strcpy(pOne, pOne + 1);	// FIXME: Valgrind complains about this
+			if (pOne) {
+				do {
+					*pOne = *(pOne + 1);
+					pOne++;
+				} while (*pOne);
+			}
 
 			Common::String fname(tempFilename);
 			if (allFiles.contains(fname) && !filesSizeMD5.contains(fname)) {


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