From 665864e5b035189c10de1d545650662f5797f5d5 Mon Sep 17 00:00:00 2001 From: smatz Date: Tue, 22 Sep 2009 12:42:56 +0000 Subject: (svn r17611) -Fix: buffers used for verifying company and president name length were too short, possibly causing false positives --- src/town_cmd.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/town_cmd.cpp') 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) { -- cgit v1.2.3-54-g00ecf