From 45c334c5857869f158809c2a53780683dc4588bc Mon Sep 17 00:00:00 2001 From: Sonic Dreamcaster Date: Tue, 19 Nov 2024 00:09:47 -0300 Subject: [PATCH] fix UB in zoness --- src/overlays/ovl_i3/fox_zo.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/overlays/ovl_i3/fox_zo.c b/src/overlays/ovl_i3/fox_zo.c index ed635829..dc38d307 100644 --- a/src/overlays/ovl_i3/fox_zo.c +++ b/src/overlays/ovl_i3/fox_zo.c @@ -3316,7 +3316,7 @@ void Zoness_801989FC(ZoSarumarine* this) { } void Zoness_80198BE8(ZoSarumarine* this, s32 arg1) { - s32 var_s1; + s32 i; Effect398* effect398; Vec3f src = { 0.0f, 0.0f, 100.0f }; Vec3f dest; @@ -3335,7 +3335,7 @@ void Zoness_80198BE8(ZoSarumarine* this, s32 arg1) { } } - for (var_s1 = 0, effect398 = &gEffects[0]; var_s1 < 100; var_s1++, effect398++) { + for (i = 0, effect398 = &gEffects[0]; i < ARRAY_COUNT(gEffects); i++, effect398++) { if (effect398->obj.status == OBJ_FREE) { Effect_Initialize(effect398); effect398->obj.status = OBJ_INIT; @@ -3360,9 +3360,11 @@ void Zoness_80198BE8(ZoSarumarine* this, s32 arg1) { break; } } - if (var_s1 >= ARRAY_COUNT(gActors)) { +#ifndef AVOID_UB + if (i >= ARRAY_COUNT(gActors)) { effect398->obj.status = OBJ_FREE; } +#endif } }