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/settings.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/settings.cpp')
-rw-r--r-- | src/settings.cpp | 6 |
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'; |