Extra checks when freeing objects and monsters

Just in case, so we don't leave objects or monsters inaccessible
by accident.
This commit is contained in:
Pasi Kallinen
2015-10-11 21:40:38 +03:00
parent f0220c4203
commit 05adaa2a75
3 changed files with 10 additions and 0 deletions

View File

@@ -1051,6 +1051,8 @@ register struct obj *otmp;
context.spbook.book = (struct obj *) 0;
}
otmp->where = OBJ_FREE; /* set to free so dealloc will work */
otmp->nobj = NULL; /* nobj saved into otmp2 */
otmp->cobj = NULL; /* contents handled above */
otmp->timed = 0; /* not timed any more */
otmp->lamplit = 0; /* caller handled lights */
dealloc_obj(otmp);
@@ -1149,6 +1151,7 @@ register struct monst *mtmp;
context.polearm.m_id = mtmp->m_id;
context.polearm.hitmon = NULL;
}
mtmp->nmon = NULL; /* nmon saved into mtmp2 */
dealloc_monst(mtmp);
}
mtmp = mtmp2;