summaryrefslogtreecommitdiff
path: root/src/town_cmd.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-09-22 12:42:56 +0000
committersmatz <smatz@openttd.org>2009-09-22 12:42:56 +0000
commit665864e5b035189c10de1d545650662f5797f5d5 (patch)
tree7d522c78409d92c43c76dbf5abf0f89cbfa801a9 /src/town_cmd.cpp
parent3a7da3092216390f5c466fe4198d263f6c638f2b (diff)
downloadopenttd-665864e5b035189c10de1d545650662f5797f5d5.tar.xz
(svn r17611) -Fix: buffers used for verifying company and president name length were too short, possibly causing false positives
Diffstat (limited to 'src/town_cmd.cpp')
-rw-r--r--src/town_cmd.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp
index 49f462e0b..b078fe982 100644
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -1419,9 +1419,10 @@ struct TownNameParams {
*/
static bool VerifyTownName(uint32 r, const TownNameParams *par)
{
- /* reserve space for extra unicode character and terminating '\0' */
- char buf1[MAX_LENGTH_TOWN_NAME_BYTES + 4 + 1];
- char buf2[MAX_LENGTH_TOWN_NAME_BYTES + 4 + 1];
+ /* Reserve space for extra unicode character. We need to do this to be able
+ * to detect too long town name. */
+ char buf1[MAX_LENGTH_TOWN_NAME_BYTES + MAX_CHAR_LENGTH];
+ char buf2[MAX_LENGTH_TOWN_NAME_BYTES + MAX_CHAR_LENGTH];
SetDParam(0, r);
if (par->grf && par->grfid != 0) {