From ccc615e9b16eeab2e9c4f50a559233f3233506e0 Mon Sep 17 00:00:00 2001 From: toaster Date: Thu, 13 Sep 2018 20:41:12 +0100 Subject: [PATCH] Fix a potential crash vector in the shadows code. (It DEFINITELY crashed when I was testing the thunder shield, for example.) --- src/p_mobj.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index 1381cefa..79d9c994 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -6283,8 +6283,11 @@ void P_RunShadows(void) next = mobj->hnext; P_SetTarget(&mobj->hnext, NULL); - if (!mobj->target) + if (!mobj->target || P_MobjWasRemoved(mobj->target)) + { + mobj->flags2 |= MF2_DONTDRAW; continue; // shouldn't you already be dead? + } if ((mobj->target->flags2 & MF2_DONTDRAW) || (((mobj->target->eflags & MFE_VERTICALFLIP) && mobj->target->z+mobj->target->height > mobj->target->ceilingz)