From 9c077958d213d4176498de25ffefb58ac74e4ea7 Mon Sep 17 00:00:00 2001 From: Evan Ramos Date: Fri, 8 Dec 2023 18:27:31 -0600 Subject: [PATCH] Blood: Avoid OOB access in MoveDude() This trips UBSan in the beginning of the first level, including during the first attract mode demo. --- source/blood/src/actor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blood/src/actor.cpp b/source/blood/src/actor.cpp index 8800443224..5182555ba0 100644 --- a/source/blood/src/actor.cpp +++ b/source/blood/src/actor.cpp @@ -4456,7 +4456,7 @@ void MoveDude(spritetype *pSprite) spritetype *pHitSprite = &sprite[nHitSprite]; XSPRITE *pHitXSprite = NULL; // Should be pHitSprite here - if (pSprite->extra > 0) + if (pSprite->extra > 0 && (unsigned)pHitSprite->extra < kMaxXSprites) pHitXSprite = &xsprite[pHitSprite->extra]; int nOwner = actSpriteOwnerToSpriteId(pHitSprite);