(retr, lretr, doship, dounit): Zero-terminate retreat paths. The last

character in the array must be zero already.  Closes #1225708.
This commit is contained in:
Markus Armbruster 2006-03-26 14:42:27 +00:00
parent d9b6937634
commit 5d6e8c0685
2 changed files with 4 additions and 4 deletions

View file

@ -808,7 +808,7 @@ doship(s_char op, int arg, s_char *p, struct shpstr *ship)
ship->shp_ptime = arg; ship->shp_ptime = arg;
break; break;
case 'R': case 'R':
memcpy(ship->shp_rpath, p, sizeof(ship->shp_rpath)); strncpy(ship->shp_rpath, p, sizeof(ship->shp_rpath) - 1);
break; break;
case 'W': case 'W':
ship->shp_rflags = arg; ship->shp_rflags = arg;
@ -1006,7 +1006,7 @@ dounit(s_char op, int arg, s_char *p, float farg, struct lndstr *land)
land->lnd_retreat = arg; land->lnd_retreat = arg;
break; break;
case 'R': case 'R':
memcpy(land->lnd_rpath, p, sizeof(land->lnd_rpath)); strncpy(land->lnd_rpath, p, sizeof(land->lnd_rpath) - 1);
break; break;
case 'W': case 'W':
land->lnd_rflags = arg; land->lnd_rflags = arg;

View file

@ -142,7 +142,7 @@ retr(void)
memset(ship.shp_rpath, 0, sizeof(ship.shp_rpath)); memset(ship.shp_rpath, 0, sizeof(ship.shp_rpath));
if (pq != NULL) { if (pq != NULL) {
strncpy(ship.shp_rpath, pq, sizeof(ship.shp_rpath)); strncpy(ship.shp_rpath, pq, sizeof(ship.shp_rpath) - 1);
putship(ship.shp_uid, &ship); putship(ship.shp_uid, &ship);
} }
if (rflags >= 0) { if (rflags >= 0) {
@ -269,7 +269,7 @@ lretr(void)
memset(land.lnd_rpath, 0, sizeof(land.lnd_rpath)); memset(land.lnd_rpath, 0, sizeof(land.lnd_rpath));
if (pq != NULL) { if (pq != NULL) {
strncpy(land.lnd_rpath, pq, sizeof(land.lnd_rpath)); strncpy(land.lnd_rpath, pq, sizeof(land.lnd_rpath) - 1);
putland(land.lnd_uid, &land); putland(land.lnd_uid, &land);
} }
if (rflags >= 0) { if (rflags >= 0) {