summaryrefslogtreecommitdiff
path: root/src/common/memmgr.h
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2016-10-14 00:05:07 +0200
committerHaru <haru@dotalux.com>2016-10-14 00:12:49 +0200
commitb664a9fe58c26323699bb7f3798092491fd3bd12 (patch)
treeca550a7255f93bd9430bf2a96c525de97392148e /src/common/memmgr.h
parentb75799528a1394919fd5eb4c8763a96ee80a9325 (diff)
downloadhercules-b664a9fe58c26323699bb7f3798092491fd3bd12.tar.gz
hercules-b664a9fe58c26323699bb7f3798092491fd3bd12.tar.bz2
hercules-b664a9fe58c26323699bb7f3798092491fd3bd12.tar.xz
hercules-b664a9fe58c26323699bb7f3798092491fd3bd12.zip
Fixed a memory manager crash when a memory leak occurs in a plugin
- Plugins were accidentally using the core's memory manager instead of the HPM-safe wrappers. - As a side-effect of this, plugins shall not be able to hook into the iMalloc interface. - The issue was introduced in e7c2f7d827ad286dc826e483391e64b8ffe2720b Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/common/memmgr.h')
-rw-r--r--src/common/memmgr.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/common/memmgr.h b/src/common/memmgr.h
index 680947466..a5b7e4e7d 100644
--- a/src/common/memmgr.h
+++ b/src/common/memmgr.h
@@ -101,8 +101,10 @@ struct malloc_interface {
void malloc_defaults(void);
void memmgr_report(int extra);
-#endif // HERCULES_CORE
HPShared struct malloc_interface *iMalloc;
+#else
+#define iMalloc HPMi->memmgr
+#endif // HERCULES_CORE
#endif /* COMMON_MEMMGR_H */