From a8a838589947a803f67b96a1258f3774ecb80ac0 Mon Sep 17 00:00:00 2001 From: Duncan Frost Date: Sat, 27 Jun 2015 10:30:33 +0100 Subject: [PATCH] Fix memory not being freed. This was breaking the installed object list creation as it would quickly run out of rct2 memory. Scenario text was incorrectly using rct2_free this has also been fixed. --- src/object.c | 2 +- src/rct2.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/object.c b/src/object.c index 98e8fed918..2056562cff 100644 --- a/src/object.c +++ b/src/object.c @@ -1593,7 +1593,7 @@ int object_get_scenario_text(rct_object_entry *entry) void object_free_scenario_text() { if (RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TEXT_TEMP_CHUNK, void*) != NULL) { - rct2_free(RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TEXT_TEMP_CHUNK, void*)); + free(RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TEXT_TEMP_CHUNK, void*)); RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TEXT_TEMP_CHUNK, void*) = NULL; } } diff --git a/src/rct2.c b/src/rct2.c index 0b3068ebe5..c2efdc4e92 100644 --- a/src/rct2.c +++ b/src/rct2.c @@ -512,9 +512,9 @@ void *rct2_realloc(void *block, size_t numBytes) /** * RCT2 and this DLL can not free each other's allocated memory blocks. Use this to free memory that was allocated by RCT2. - * rct2: 0x004068DE + * rct2: 0x004068CD */ void rct2_free(void *block) { - RCT2_CALLPROC_1(0x004068DE, void*, block); + RCT2_CALLPROC_1(0x004068CD, void*, block); }