diff --git a/DynamicHooks/hook.cpp b/DynamicHooks/hook.cpp index eee9c35..edc11f8 100644 --- a/DynamicHooks/hook.cpp +++ b/DynamicHooks/hook.cpp @@ -207,7 +207,10 @@ void* __cdecl CHook::GetReturnAddress(void* pESP) void __cdecl CHook::SetReturnAddress(void* pRetAddr, void* pESP) { ReturnAddressMap::Insert i = m_RetAddr.findForAdd(pESP); - m_RetAddr.add(i, pESP, pRetAddr); + if (i.found()) + i->value = pRetAddr; + else + m_RetAddr.add(i, pESP, pRetAddr); } void* CHook::CreateBridge()