diff --git a/wumsloader/src/utils/memory.h b/wumsloader/src/utils/memory.h index 3580441..19f9f80 100644 --- a/wumsloader/src/utils/memory.h +++ b/wumsloader/src/utils/memory.h @@ -4,4 +4,6 @@ extern uint32_t MEMAlloc; extern uint32_t MEMAllocEx; extern uint32_t MEMFree; -void Memory_CheckHeaps(); \ No newline at end of file +void Memory_CheckHeaps(); +void *MemoryAlloc(uint32_t size); +void MemoryFree(void *ptr); \ No newline at end of file diff --git a/wumsloader/src/utils/reent.cpp b/wumsloader/src/utils/reent.cpp index 5298180..91461df 100644 --- a/wumsloader/src/utils/reent.cpp +++ b/wumsloader/src/utils/reent.cpp @@ -2,6 +2,7 @@ #include "globals.h" #include "logger.h" +#include "memory.h" #include @@ -125,7 +126,7 @@ void ClearDanglingReentPtr() { nodeToFree->cleanupFn(nodeToFree->reentPtr); } DEBUG_FUNCTION_LINE_VERBOSE("[%p] Free node %p (dangling)", OSGetCurrentThread(), nodeToFree); - MEMFreeToDefaultHeap(nodeToFree); + MemoryFree(nodeToFree); } sGlobalNodesCopy.clear(); } @@ -157,7 +158,7 @@ static void __wums_thread_cleanup(OSThread *thread, void *stack) { removeNodeFromListsSafe(curr); DEBUG_FUNCTION_LINE_VERBOSE("[%p] Free node %p", thread, curr); - MEMFreeToDefaultHeap(curr); + MemoryFree(curr); } curr = next; @@ -206,7 +207,7 @@ bool wums_backend_register_context(const void *moduleId, void *reentPtr, void (* return false; } - auto *newNode = static_cast<__wums_reent_node *>(MEMAllocFromDefaultHeap(sizeof(__wums_reent_node))); + auto *newNode = static_cast<__wums_reent_node *>(MemoryAlloc(sizeof(__wums_reent_node))); if (!newNode) { return false; }