diff options
author | rubidium <rubidium@openttd.org> | 2009-04-10 20:37:05 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-04-10 20:37:05 +0000 |
commit | bee930f9b3b9dad52945c1186227519cf9d566aa (patch) | |
tree | 4316044d109b49be7854ac19dd38cbc7d94367c1 /src/fileio.cpp | |
parent | 4bf35086802f6f778e987cf0a4ca377068cb27ed (diff) | |
download | openttd-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.cpp | 10 |
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'; |