From 8938d97b2326cbb5423ed3740c2f448f70936d9c Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Thu, 18 Sep 2025 01:27:11 -0400 Subject: [PATCH] Fix null dereference when removing baildrop flingrings --- src/p_enemy.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/p_enemy.c b/src/p_enemy.c index 3570f0f76..0aa54d3f5 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -3514,10 +3514,14 @@ void A_AttractChase(mobj_t *actor) // 1. Insta-Whip's extended punish window used to delete flingrings off you while they were attracting // 2. ALL conditions that deleted flingrings off you didn't decrement pickuprings, desyncing your ring count boolean stale = (!actor->target || P_MobjWasRemoved(actor->target) || !actor->target->player); + boolean blocked = false; - boolean blocked = (actor->target->player->baildrop); - if (G_CompatLevel(0x0010)) - blocked |= !!(actor->target->player->bailcharge || actor->target->player->defenseLockout > PUNISHWINDOW); + if (!stale) + { + blocked = actor->target->player->baildrop; + if (G_CompatLevel(0x0010)) + blocked |= !!(actor->target->player->bailcharge || actor->target->player->defenseLockout > PUNISHWINDOW); + } if (!G_CompatLevel(0x0010) || actor->extravalue2) {