(svn r11077) [0.5] -Fix: Possible NULL pointer dereference.
--- a/engine.c Sun Sep 09 20:52:54 2007 +0000
+++ b/engine.c Sun Sep 09 22:35:21 2007 +0000
@@ -372,7 +372,7 @@
{
StringID str;
- if (!IsEngineIndex(p1) || _cmd_text[0] == '\0') return CMD_ERROR;
+ if (!IsEngineIndex(p1) || _cmd_text == NULL || _cmd_text[0] == '\0') return CMD_ERROR;
str = AllocateNameUnique(_cmd_text, 0);
if (str == 0) return CMD_ERROR;
--- a/misc_cmd.c Sun Sep 09 20:52:54 2007 +0000
+++ b/misc_cmd.c Sun Sep 09 22:35:21 2007 +0000
@@ -187,7 +187,7 @@
StringID str;
Player *p;
- if (_cmd_text[0] == '\0') return CMD_ERROR;
+ if (_cmd_text == NULL || _cmd_text[0] == '\0') return CMD_ERROR;
str = AllocateNameUnique(_cmd_text, 4);
if (str == 0) return CMD_ERROR;
--- a/signs.c Sun Sep 09 20:52:54 2007 +0000
+++ b/signs.c Sun Sep 09 22:35:21 2007 +0000
@@ -151,7 +151,7 @@
/* 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[0] != '\0') {
+ if (_cmd_text != NULL && _cmd_text[0] != '\0') {
/* Create the name */
StringID str = AllocateName(_cmd_text, 0);
if (str == 0) return CMD_ERROR;
--- a/station_cmd.c Sun Sep 09 20:52:54 2007 +0000
+++ b/station_cmd.c Sun Sep 09 22:35:21 2007 +0000
@@ -2645,7 +2645,7 @@
StringID str;
Station *st;
- if (!IsValidStationID(p1) || _cmd_text[0] == '\0') return CMD_ERROR;
+ if (!IsValidStationID(p1) || _cmd_text == NULL || _cmd_text[0] == '\0') return CMD_ERROR;
st = GetStation(p1);
if (!CheckOwnership(st->owner)) return CMD_ERROR;
--- a/town_cmd.c Sun Sep 09 20:52:54 2007 +0000
+++ b/town_cmd.c Sun Sep 09 22:35:21 2007 +0000
@@ -1373,7 +1373,7 @@
StringID str;
Town *t;
- if (!IsValidTownID(p1) || _cmd_text[0] == '\0') return CMD_ERROR;
+ if (!IsValidTownID(p1) || _cmd_text == NULL || _cmd_text[0] == '\0') return CMD_ERROR;
t = GetTown(p1);
--- a/vehicle.c Sun Sep 09 20:52:54 2007 +0000
+++ b/vehicle.c Sun Sep 09 22:35:21 2007 +0000
@@ -2633,7 +2633,7 @@
Vehicle *v;
StringID str;
- if (!IsValidVehicleID(p1) || _cmd_text[0] == '\0') return CMD_ERROR;
+ if (!IsValidVehicleID(p1) || _cmd_text == NULL || _cmd_text[0] == '\0') return CMD_ERROR;
v = GetVehicle(p1);
--- a/waypoint.c Sun Sep 09 20:52:54 2007 +0000
+++ b/waypoint.c Sun Sep 09 22:35:21 2007 +0000
@@ -319,7 +319,7 @@
wp = GetWaypoint(p1);
if (!CheckTileOwnership(wp->xy)) return CMD_ERROR;
- if (_cmd_text[0] != '\0') {
+ if (_cmd_text != NULL && _cmd_text[0] != '\0') {
StringID str = AllocateNameUnique(_cmd_text, 0);
if (str == 0) return CMD_ERROR;