From 1e8f4ee0b1b1067685767fbc8bb711a1d3ac8599 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Sun, 11 Oct 2015 21:51:01 +0300 Subject: [PATCH] Fix segfault when tripping over something If you tripped over something, and there were no rocks on that place, the otmp object variable was set to null but used later for checking if it was a corpse. --- src/timeout.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/timeout.c b/src/timeout.c index 44b81a5be..dd0a4b9aa 100644 --- a/src/timeout.c +++ b/src/timeout.c @@ -692,7 +692,7 @@ struct obj *figurine; STATIC_OVL void slip_or_trip() { - struct obj *otmp = vobj_at(u.ux, u.uy); + struct obj *otmp = vobj_at(u.ux, u.uy), *otmp2; const char *what; char buf[BUFSZ]; boolean on_foot = TRUE; @@ -716,9 +716,9 @@ slip_or_trip() : "them") : (otmp->dknown || !Blind) ? doname(otmp) - : ((otmp = sobj_at(ROCK, u.ux, u.uy)) == 0 + : ((otmp2 = sobj_at(ROCK, u.ux, u.uy)) == 0 ? something - : (otmp->quan == 1L ? "a rock" : "some rocks")); + : (otmp2->quan == 1L ? "a rock" : "some rocks")); if (Hallucination) { what = strcpy(buf, what); buf[0] = highc(buf[0]);