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 | 6dbc01529143b054004aec91f706ecdc2299421d (patch) | |
tree | c543be0e66d8dd3694e7f9692a54795b6791ce93 /signs.c | |
parent | 72f5ce0563188e2ea96afd75d495acc57a7239e0 (diff) | |
download | openttd-6dbc01529143b054004aec91f706ecdc2299421d.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; |