From 1b4c49d8de502b927b28c3ad6b0b1592067f65a9 Mon Sep 17 00:00:00 2001 From: Exant64 Date: Wed, 20 May 2026 18:20:58 +0200 Subject: [PATCH] fix memory corruption on NULL chaodata/paramCopy'd eggs (closes #41) --- CWE/Chao.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CWE/Chao.cpp b/CWE/Chao.cpp index 90d9989..f63e652 100644 --- a/CWE/Chao.cpp +++ b/CWE/Chao.cpp @@ -561,6 +561,13 @@ void Chao_Init() WriteData((short*)0x55043E, (short)0x804); WriteData((short*)0x550448, (short)0x800); + // egg ParamCopy alloc size (2 malloc, 2 memset, and memcpy) + WriteData((uint32_t*)0x0057BC0E, uint32_t(sizeof(ChaoData) + 4)); + WriteData((uint32_t*)0x0057BC61, uint32_t(sizeof(ChaoData) + 4)); + WriteData((uint32_t*)0x0057BC18, uint32_t(sizeof(ChaoData))); + WriteData((uint32_t*)0x0057BC6B, uint32_t(sizeof(ChaoData))); + WriteData((uint32_t*)0x0057BC32, uint32_t(sizeof(ChaoData) / 4)); + AL_Gene_Init(); AL_FaceInit();