From 08841227a4b5ab44e280cc506ef8990718784236 Mon Sep 17 00:00:00 2001 From: Maxim Telezhenko Date: Wed, 26 Oct 2022 21:41:40 +0300 Subject: [PATCH] Fix DHooks jit code stack memory alignment (#1849) --- extensions/dhooks/DynamicHooks/hook.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/dhooks/DynamicHooks/hook.cpp b/extensions/dhooks/DynamicHooks/hook.cpp index 964b8011..dd255248 100644 --- a/extensions/dhooks/DynamicHooks/hook.cpp +++ b/extensions/dhooks/DynamicHooks/hook.cpp @@ -355,13 +355,13 @@ void CHook::Write_CallHandler(sp::MacroAssembler& masm, HookType_t type) Write_SaveRegisters(masm, type); // Align the stack to 16 bytes. - masm.subl(esp, 8); + masm.subl(esp, 4); // Call the global hook handler masm.push(type); masm.push(intptr_t(this)); masm.call(ExternalAddress((void *&)HookHandler)); - masm.addl(esp, 16); + masm.addl(esp, 12); } void CHook::Write_SaveRegisters(sp::MacroAssembler& masm, HookType_t type) @@ -501,4 +501,4 @@ void CHook::Write_RestoreRegisters(sp::MacroAssembler& masm, HookType_t type) default: puts("Unsupported register."); } } -} \ No newline at end of file +}