From 37738022eeb8ffaa7cf3baf67bfd968e01db3bbd Mon Sep 17 00:00:00 2001 From: Michael Flaherty Date: Tue, 31 Jul 2018 13:17:48 -0700 Subject: [PATCH] dvander foxes --- core/sourcehook/sh_memory.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/sourcehook/sh_memory.h b/core/sourcehook/sh_memory.h index 3aed943..c2130d6 100644 --- a/core/sourcehook/sh_memory.h +++ b/core/sourcehook/sh_memory.h @@ -255,7 +255,7 @@ namespace SourceHook */ namespace { - inline bool ModuleInMemory(char *addr, size_t len) + static inline bool ModuleInMemory(char *addr, size_t len) { #if SH_SYS == SH_SYS_LINUX // On linux, first check /proc/self/maps @@ -328,6 +328,10 @@ namespace SourceHook prevHandler = signal(SIGSEGV, BadReadHandler); + volatile const char *p = reinterpret_cast(addr); + for (size_t i = 0; i < len; i++) + p[i]; + g_BadReadCalled = false; signal(SIGSEGV, prevHandler); @@ -349,10 +353,8 @@ namespace SourceHook return false; volatile const char *p = reinterpret_cast(addr); - char dummy; - for (size_t i = 0; i < len; i++) - dummy = p[i]; + p[i]; g_BadReadCalled = false;