From 1fbaeceadabb14dedadc0ce1624c0ff4d5bb531e Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 26 Aug 2021 08:10:18 +0200 Subject: [PATCH] - Blood: avoid double free of sprites. This happened to me once in Death Wish. --- source/games/blood/src/actor.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index c16cbd986..6937f6fa4 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -7272,10 +7272,13 @@ void actPostProcess(void) int nStatus = pPost->status; if (nStatus == kStatFree) { - evKill(nSprite, 3); - if (sprite[nSprite].extra > 0) - seqKill(3, sprite[nSprite].extra); - DeleteSprite(nSprite); + if (pSprite->statnum != kStatFree) + { + evKill(nSprite, 3); + if (sprite[nSprite].extra > 0) + seqKill(3, pSprite->extra); + DeleteSprite(nSprite); + } } else ChangeSpriteStat(nSprite, nStatus);