From 8a07e2cdc5abb46400e66a4919b61dd9ac04fff2 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Sun, 15 Nov 2015 18:55:09 +0200 Subject: [PATCH] Fix use of data from deleted vault teleport trap --- src/teleport.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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();