(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.

This commit is contained in:
Darkvater
2005-05-17 19:36:36 +00:00
parent 90ca24f7b6
commit 21d9e2c934
2 changed files with 9 additions and 2 deletions

View File

@@ -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;