From 5b26878eb0f64d6b8f86bede50d6ac06b0964bbc Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Wed, 26 Jun 2024 02:40:44 +0200 Subject: [PATCH] Don't cast address to scalar (this is fishy) --- LEGO1/lego/legoomni/src/main/legomain.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/LEGO1/lego/legoomni/src/main/legomain.cpp b/LEGO1/lego/legoomni/src/main/legomain.cpp index 62a927ff..5f9d5157 100644 --- a/LEGO1/lego/legoomni/src/main/legomain.cpp +++ b/LEGO1/lego/legoomni/src/main/legomain.cpp @@ -501,7 +501,8 @@ MxAtomId* LegoOmni::GetWorldAtom(MxU32 p_id) MxS32 LegoOmni::GetWorldId(const char* p_key) { for (MxS32 i = 0; i < 19; i++) { - if ((MxS32) &m_worlds[i] != -4 && !strcmpi(m_worlds[i].GetKey(), p_key)) { + // FIXME: this looks very fishy. Is this guarding against out-of-bounds access? + if ((MxS32*) &m_worlds[i] != (MxS32*) -4 && !strcmpi(m_worlds[i].GetKey(), p_key)) { return m_worlds[i].GetId(); } }