aboutsummaryrefslogtreecommitdiff
path: root/primedev/core
diff options
context:
space:
mode:
Diffstat (limited to 'primedev/core')
-rw-r--r--primedev/core/hooks.cpp22
-rw-r--r--primedev/core/hooks.h2
2 files changed, 7 insertions, 17 deletions
diff --git a/primedev/core/hooks.cpp b/primedev/core/hooks.cpp
index 5026f837..d8fad409 100644
--- a/primedev/core/hooks.cpp
+++ b/primedev/core/hooks.cpp
@@ -85,19 +85,9 @@ void __fileAutohook::DispatchForModule(const char* pModuleName)
hook->Dispatch();
}
-ManualHook::ManualHook(const char* funcName, LPVOID func) : pHookFunc(func), ppOrigFunc(nullptr)
-{
- const size_t iFuncNameStrlen = strlen(funcName);
- pFuncName = new char[iFuncNameStrlen];
- memcpy(pFuncName, funcName, iFuncNameStrlen);
-}
+ManualHook::ManualHook(const char* funcName, LPVOID func) : svFuncName(funcName), pHookFunc(func), ppOrigFunc(nullptr) {}
-ManualHook::ManualHook(const char* funcName, LPVOID* orig, LPVOID func) : pHookFunc(func), ppOrigFunc(orig)
-{
- const size_t iFuncNameStrlen = strlen(funcName);
- pFuncName = new char[iFuncNameStrlen];
- memcpy(pFuncName, funcName, iFuncNameStrlen);
-}
+ManualHook::ManualHook(const char* funcName, LPVOID* orig, LPVOID func) : svFuncName(funcName), pHookFunc(func), ppOrigFunc(orig) {}
bool ManualHook::Dispatch(LPVOID addr, LPVOID* orig)
{
@@ -105,19 +95,19 @@ bool ManualHook::Dispatch(LPVOID addr, LPVOID* orig)
ppOrigFunc = orig;
if (!addr)
- spdlog::error("Address for hook {} is invalid", pFuncName);
+ spdlog::error("Address for hook {} is invalid", svFuncName);
else if (MH_CreateHook(addr, pHookFunc, ppOrigFunc) == MH_OK)
{
if (MH_EnableHook(addr) == MH_OK)
{
- spdlog::info("Enabling hook {}", pFuncName);
+ spdlog::info("Enabling hook {}", svFuncName);
return true;
}
else
- spdlog::error("MH_EnableHook failed for function {}", pFuncName);
+ spdlog::error("MH_EnableHook failed for function {}", svFuncName);
}
else
- spdlog::error("MH_CreateHook failed for function {}", pFuncName);
+ spdlog::error("MH_CreateHook failed for function {}", svFuncName);
return false;
}
diff --git a/primedev/core/hooks.h b/primedev/core/hooks.h
index 2a2180da..023b7411 100644
--- a/primedev/core/hooks.h
+++ b/primedev/core/hooks.h
@@ -278,7 +278,7 @@ public:
class ManualHook
{
public:
- char* pFuncName;
+ std::string svFuncName;
LPVOID pHookFunc;
LPVOID* ppOrigFunc;