summaryrefslogtreecommitdiff
path: root/src/settings.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/settings.cpp
parent4bf35086802f6f778e987cf0a4ca377068cb27ed (diff)
downloadopenttd-bee930f9b3b9dad52945c1186227519cf9d566aa.tar.xz
(svn r16024) -Codechange: harden string copying on places where it's possible
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index 7df70d7c1..2b020a679 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -554,7 +554,7 @@ static void ini_save_settings(IniFile *ini, const SettingDesc *sd, const char *g
uint32 i = (uint32)ReadValue(ptr, sld->conv);
switch (sdb->cmd) {
- case SDT_BOOLX: strcpy(buf, (i != 0) ? "true" : "false"); break;
+ case SDT_BOOLX: strecpy(buf, (i != 0) ? "true" : "false", lastof(buf)); break;
case SDT_NUMX: seprintf(buf, lastof(buf), IsSignedVarMemType(sld->conv) ? "%d" : "%u", i); break;
case SDT_ONEOFMANY: make_oneofmany(buf, lastof(buf), sdb->many, i); break;
case SDT_MANYOFMANY: make_manyofmany(buf, lastof(buf), sdb->many, i); break;
@@ -564,9 +564,9 @@ static void ini_save_settings(IniFile *ini, const SettingDesc *sd, const char *g
case SDT_STRING:
switch (GetVarMemType(sld->conv)) {
- case SLE_VAR_STRB: strcpy(buf, (char*)ptr); break;
+ case SLE_VAR_STRB: strecpy(buf, (char*)ptr, lastof(buf)); break;
case SLE_VAR_STRBQ:seprintf(buf, lastof(buf), "\"%s\"", (char*)ptr); break;
- case SLE_VAR_STR: strcpy(buf, *(char**)ptr); break;
+ case SLE_VAR_STR: strecpy(buf, *(char**)ptr, lastof(buf)); break;
case SLE_VAR_STRQ:
if (*(char**)ptr == NULL) {
buf[0] = '\0';