diff options
author | rubidium <rubidium@openttd.org> | 2008-08-13 06:22:04 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-08-13 06:22:04 +0000 |
commit | 2d94337e1ac754f6181d537708fe3a187d2c7400 (patch) | |
tree | 4d5843494903387aa4370746ec69c55363be9a66 /src/town_cmd.cpp | |
parent | 97c184f8f8265cf59b24ab3081a032c7162afcb5 (diff) | |
download | openttd-2d94337e1ac754f6181d537708fe3a187d2c7400.tar.xz |
(svn r14064) -Fix [FS#1752]: check for the length of strings (in bytes) in the command. Checking for the length in pixels is impossible because that differs per client.
Diffstat (limited to 'src/town_cmd.cpp')
-rw-r--r-- | src/town_cmd.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 4d5917562..3532fe3c7 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1394,7 +1394,7 @@ restart: } /* Check size and width */ - if (strlen(buf1) >= 31 || GetStringBoundingBox(buf1).width > 130) continue; + if (strlen(buf1) >= MAX_LENGTH_TOWN_NAME_BYTES || GetStringBoundingBox(buf1).width > MAX_LENGTH_TOWN_NAME_PIXELS) continue; FOR_ALL_TOWNS(t2) { /* We can't just compare the numbers since @@ -2093,7 +2093,8 @@ static bool IsUniqueTownName(const char *name) */ CommandCost CmdRenameTown(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) { - if (!IsValidTownID(p1) || StrEmpty(_cmd_text)) return CMD_ERROR; + if (!IsValidTownID(p1)) return CMD_ERROR; + if (StrEmpty(_cmd_text) || strlen(_cmd_text) >= MAX_LENGTH_TOWN_NAME_BYTES) return CMD_ERROR; if (!IsUniqueTownName(_cmd_text)) return_cmd_error(STR_NAME_MUST_BE_UNIQUE); |