From 5b52b3e9cb74a04710edae2a571fe9b9fc5a3d1e Mon Sep 17 00:00:00 2001 From: "Admiral H. Curtiss" Date: Sat, 2 May 2020 00:42:29 +0200 Subject: x64Emitter: Check end of allocated space when emitting code. --- Source/Core/Common/CodeBlock.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/Core/Common/CodeBlock.h') diff --git a/Source/Core/Common/CodeBlock.h b/Source/Core/Common/CodeBlock.h index af86cc9913..77d01439e3 100644 --- a/Source/Core/Common/CodeBlock.h +++ b/Source/Core/Common/CodeBlock.h @@ -55,7 +55,7 @@ public: region_size = size; total_region_size = size; region = static_cast(Common::AllocateExecutableMemory(total_region_size)); - T::SetCodePtr(region); + T::SetCodePtr(region, region + size); } // Always clear code space with breakpoints, so that if someone accidentally executes @@ -86,7 +86,7 @@ public: // Cannot currently be undone. Will write protect the entire code region. // Start over if you need to change the code (call FreeCodeSpace(), AllocCodeSpace()). void WriteProtect() { Common::WriteProtectMemory(region, region_size, true); } - void ResetCodePtr() { T::SetCodePtr(region); } + void ResetCodePtr() { T::SetCodePtr(region, region + region_size); } size_t GetSpaceLeft() const { ASSERT(static_cast(T::GetCodePtr() - region) < region_size); -- cgit v1.2.3