Prevent a segfault with leashed vanished monster
It's apparently somehow possible to have a leash "attached" to a monster not present on the current level. Complain instead of segfaulting. (This is a post-3.6.0 bug)
This commit is contained in:
11
src/objnam.c
11
src/objnam.c
@@ -912,8 +912,15 @@ unsigned doname_flags;
|
||||
break;
|
||||
}
|
||||
if (obj->otyp == LEASH && obj->leashmon != 0) {
|
||||
Sprintf(eos(bp), " (attached to %s)",
|
||||
a_monnam(find_mid(obj->leashmon, FM_FMON)));
|
||||
struct monst *mlsh = find_mid(obj->leashmon, FM_FMON);
|
||||
|
||||
if (!mlsh) {
|
||||
impossible("leashed monster not on this level");
|
||||
obj->leashmon = 0;
|
||||
} else {
|
||||
Sprintf(eos(bp), " (attached to %s)",
|
||||
a_monnam(mlsh));
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (obj->otyp == CANDELABRUM_OF_INVOCATION) {
|
||||
|
||||
Reference in New Issue
Block a user