From dcff18577f98ac2012e3338c713999ed4a176647 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 13 Jun 2020 13:59:01 +0200 Subject: [PATCH] Check if we exceed the space we have available --- source/function_patcher.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/function_patcher.cpp b/source/function_patcher.cpp index 3aebc47..a5caa32 100644 --- a/source/function_patcher.cpp +++ b/source/function_patcher.cpp @@ -165,6 +165,10 @@ void FunctionPatcherPatchFunction(function_replacement_data_t *replacements, uin replace_instr = 0x48000002 | (repl_addr_test & 0x03FFFFFC); } + if(space > &function_data->replace_data[FUNCTION_PATCHER_METHOD_STORE_SIZE]){ + OSFatal("The replacement data is too long."); + } + DCFlushRange((void *) function_data->replace_data, FUNCTION_PATCHER_METHOD_STORE_SIZE * 4); ICInvalidateRange((void *) function_data->replace_data, FUNCTION_PATCHER_METHOD_STORE_SIZE * 4);