From: Pasi Kallinen Date: Sun, 15 Nov 2015 16:55:09 +0000 (+0200) Subject: Fix use of data from deleted vault teleport trap X-Git-Tag: NetHack-3.6.0_RC01~54^2~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8a07e2cdc5abb46400e66a4919b61dd9ac04fff2;p=nethack Fix use of data from deleted vault teleport trap --- diff --git a/src/teleport.c b/src/teleport.c index 8f7b5860a..5faf0135c 100644 --- a/src/teleport.c +++ b/src/teleport.c @@ -490,12 +490,14 @@ int dotele() { struct trap *trap; + boolean trap_once = FALSE; trap = t_at(u.ux, u.uy); if (trap && (!trap->tseen || trap->ttyp != TELEP_TRAP)) trap = 0; if (trap) { + trap_once = trap->once; /* trap may get deleted, save this */ if (trap->once) { pline("This is a vault teleport, usable once only."); if (yn("Jump in?") == 'n') @@ -569,7 +571,7 @@ dotele() } if (next_to_u()) { - if (trap && trap->once) + if (trap && trap_once) vault_tele(); else tele();