summaryrefslogtreecommitdiff
path: root/signs.c
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2005-05-17 19:36:36 +0000
committerDarkvater <darkvater@openttd.org>2005-05-17 19:36:36 +0000
commit21d9e2c934b263c16ddba19013994f567f4e81b0 (patch)
treec543be0e66d8dd3694e7f9692a54795b6791ce93 /signs.c
parent90ca24f7b64f9a23dfe771d4e13f55a10b5d2db9 (diff)
downloadopenttd-21d9e2c934b263c16ddba19013994f567f4e81b0.tar.xz
(svn r2342) - Fix (Regression): _cmd_text is always valid, so test the first character for '\0'. Also for some reason I forgot to validate the p1 param so that might lead to crashes with invalid signes. Fixed as well.
Diffstat (limited to 'signs.c')
-rw-r--r--signs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/signs.c b/signs.c
index 50865d230..9974dd91c 100644
--- a/signs.c
+++ b/signs.c
@@ -136,9 +136,11 @@ int32 CmdPlaceSign(int x, int y, uint32 flags, uint32 p1, uint32 p2)
*/
int32 CmdRenameSign(int x, int y, uint32 flags, uint32 p1, uint32 p2)
{
- /* If _cmd_text != 0 means the new text for the sign is non-empty.
+ if (!IsSignIndex(p1)) return CMD_ERROR;
+
+ /* If _cmd_text 0 means the new text for the sign is non-empty.
* So rename the sign. If it is empty, it has no name, so delete it */
- if (_cmd_text != NULL) {
+ if (_cmd_text[0] != '\0') {
/* Create the name */
StringID str = AllocateName(_cmd_text, 0);
if (str == 0) return CMD_ERROR;