diff options
author | Torbjörn Andersson | 2010-01-03 20:42:51 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2010-01-03 20:42:51 +0000 |
commit | f15db40927443953aeb880fac1d4093301004e03 (patch) | |
tree | bedb26b688c8324722c1c6ad4d8e1c9ea3f77045 | |
parent | eeb3502fa43856a6e03424b9e24700485a7fb852 (diff) | |
download | scummvm-rg350-f15db40927443953aeb880fac1d4093301004e03.tar.gz scummvm-rg350-f15db40927443953aeb880fac1d4093301004e03.tar.bz2 scummvm-rg350-f15db40927443953aeb880fac1d4093301004e03.zip |
Don't uses strcpy() on overlapping memory areas. It's undefined.
svn-id: r46944
-rw-r--r-- | engines/tinsel/detection.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/tinsel/detection.cpp b/engines/tinsel/detection.cpp index 100657786c..07db1772f9 100644 --- a/engines/tinsel/detection.cpp +++ b/engines/tinsel/detection.cpp @@ -756,7 +756,12 @@ const ADGameDescription *TinselMetaEngine::fallbackDetect(const Common::FSList & 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)) { |