# HG changeset patch # User Drifter # Date 1334359867 -3600 # Node ID 467e6dbfa288fd90aff5c45c806a7c2c9811d160 # Parent 349725fe5e32ae28fea516e7359d5b81d9fce8e5 Fixed crash with StoreToAddress if memory wasn't writable (bug 5252, r=asherkin). diff -r 349725fe5e32 -r 467e6dbfa288 core/smn_core.cpp --- a/core/smn_core.cpp Wed Mar 21 22:04:05 2012 -0500 +++ b/core/smn_core.cpp Sat Apr 14 00:31:07 2012 +0100 @@ -43,6 +43,7 @@ #include "Logger.h" #include "ExtensionSys.h" #include +#include #if defined PLATFORM_WINDOWS #include @@ -729,12 +730,15 @@ switch(size) { case NumberType_Int8: + SourceHook::SetMemAccess(addr, sizeof(uint8_t), SH_MEM_READ|SH_MEM_WRITE|SH_MEM_EXEC); *reinterpret_cast(addr) = data; break; case NumberType_Int16: + SourceHook::SetMemAccess(addr, sizeof(uint16_t), SH_MEM_READ|SH_MEM_WRITE|SH_MEM_EXEC); *reinterpret_cast(addr) = data; break; case NumberType_Int32: + SourceHook::SetMemAccess(addr, sizeof(uint32_t), SH_MEM_READ|SH_MEM_WRITE|SH_MEM_EXEC); *reinterpret_cast(addr) = data; break; default: