From 63e2ae59ecb817a027df5f0eccb7024e2bdf79e3 Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Sat, 29 Aug 2026 16:14:49 +0200 Subject: [PATCH] Document some bugs (#2806) * `@bug UB` in Item_Give and Item_CheckObtainability * `@bug` on `envCtx->windSpeed` not initialized in Environment_Init --- src/code/z_kankyo.c | 1 + src/code/z_parameter.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 5a944065b5..1d110f4f74 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -370,6 +370,7 @@ void Environment_Init(PlayState* play2, EnvironmentContext* envCtx, s32 unused) envCtx->windDirection.x = 80; envCtx->windDirection.y = 80; envCtx->windDirection.z = 80; + //! @bug envCtx->windSpeed is not initialized. envCtx->lightBlendEnabled = false; envCtx->lightSettingOverride = LIGHT_SETTING_OVERRIDE_NONE; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 1eb2b08ab6..cd50939be2 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -1399,6 +1399,7 @@ u8 Item_Give(PlayState* play, u8 item) { s16 slot; s16 temp; + //! @bug UB: For items that are not inventory items, the SLOT macro indexes gItemSlots out of bounds. slot = SLOT(item); if (item >= ITEM_DEKU_STICKS_5) { slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]); @@ -1888,9 +1889,11 @@ u8 Item_Give(PlayState* play, u8 item) { u8 Item_CheckObtainability(u8 item) { s16 i; - s16 slot = SLOT(item); + s16 slot; s16 temp; + //! @bug UB: For items that are not inventory items, the SLOT macro indexes gItemSlots out of bounds. + slot = SLOT(item); if (item >= ITEM_DEKU_STICKS_5) { slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]); }