summaryrefslogtreecommitdiff
path: root/tools/HPMHookGen/HPMHookGen.pl
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 /tools/HPMHookGen/HPMHookGen.pl
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 'tools/HPMHookGen/HPMHookGen.pl')
-rwxr-xr-xtools/HPMHookGen/HPMHookGen.pl3
1 files changed, 1 insertions, 2 deletions
diff --git a/tools/HPMHookGen/HPMHookGen.pl b/tools/HPMHookGen/HPMHookGen.pl
index 3203e0b70..b8835b376 100755
--- a/tools/HPMHookGen/HPMHookGen.pl
+++ b/tools/HPMHookGen/HPMHookGen.pl
@@ -295,6 +295,7 @@ foreach my $file (@files) { # Loop through the xml files
my $loc = $data->{compounddef}->{$filekey}->{location}->[0];
next unless $loc->{file} =~ /src\/(map|char|login|common)\//;
next if $loc->{file} =~ /\/HPM.*\.h/; # Don't allow hooking into the HPM itself
+ next if $loc->{file} =~ /\/memmgr\.h/; # Don't allow hooking into the memory manager
my $servertype = $1;
my $key = $data->{compounddef}->{$filekey}->{compoundname}->[0];
my $original = $key;
@@ -338,8 +339,6 @@ foreach my $file (@files) { # Loop through the xml files
$key = "chr";
} elsif ($key eq "db_interface") {
$key = "DB";
- } elsif ($key eq "malloc_interface") {
- $key = "iMalloc";
} elsif ($key eq "socket_interface") {
$key = "sockt";
} elsif ($key eq "sql_interface") {