diff options
author | Darkvater <darkvater@openttd.org> | 2005-05-17 19:36:36 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2005-05-17 19:36:36 +0000 |
commit | 21d9e2c934b263c16ddba19013994f567f4e81b0 (patch) | |
tree | c543be0e66d8dd3694e7f9692a54795b6791ce93 /signs.c | |
parent | 90ca24f7b64f9a23dfe771d4e13f55a10b5d2db9 (diff) | |
download | openttd-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.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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; |