summaryrefslogtreecommitdiff
path: root/src/fileio.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-04-10 20:37:05 +0000
committerrubidium <rubidium@openttd.org>2009-04-10 20:37:05 +0000
commitbee930f9b3b9dad52945c1186227519cf9d566aa (patch)
tree4316044d109b49be7854ac19dd38cbc7d94367c1 /src/fileio.cpp
parent4bf35086802f6f778e987cf0a4ca377068cb27ed (diff)
downloadopenttd-bee930f9b3b9dad52945c1186227519cf9d566aa.tar.xz
(svn r16024) -Codechange: harden string copying on places where it's possible
Diffstat (limited to 'src/fileio.cpp')
-rw-r--r--src/fileio.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/fileio.cpp b/src/fileio.cpp
index 79d2283f6..8252f5b90 100644
--- a/src/fileio.cpp
+++ b/src/fileio.cpp
@@ -363,7 +363,7 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
char resolved_name[MAX_RESOLVED_LENGTH];
/* Filenames in tars are always forced to be lowercase */
- strcpy(resolved_name, filename);
+ strecpy(resolved_name, filename, lastof(resolved_name));
strtolower(resolved_name);
size_t resolved_len = strlen(resolved_name);
@@ -376,9 +376,9 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
/* Apply link */
char resolved_name2[MAX_RESOLVED_LENGTH];
const std::string &dest = link->second;
- strcpy(resolved_name2, &(resolved_name[len]));
- strcpy(resolved_name, dest.c_str());
- strcpy(&(resolved_name[dest.length()]), resolved_name2);
+ strecpy(resolved_name2, &(resolved_name[len]), lastof(resolved_name2));
+ strecpy(resolved_name, dest.c_str(), lastof(resolved_name));
+ strecpy(&(resolved_name[dest.length()]), resolved_name2, lastof(resolved_name));
break; // Only resolve one level
}
}
@@ -640,7 +640,7 @@ bool TarListAddFile(const char *filename)
/* Process relative path.
* Note: The destination of links must not contain any directory-links. */
- strcpy(dest, name);
+ strecpy(dest, name, lastof(dest));
char *destpos = strrchr(dest, PATHSEPCHAR);
if (destpos == NULL) destpos = dest;
*destpos = '\0';