summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-02 00:51:48 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-02 00:51:48 +0000
commit0155dd1e97f323668442d3fc07b927e8f9004dbe (patch)
tree646782c0fb0b4ea1e2ed0e81c2e1c7e356bb6fa4
parente20d6e0bbad966865e3f4fba4482c03eef09cb76 (diff)
Fix memory leak and invalid vtable location on unload of m_sslinfo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11649 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_sslinfo.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp
index 5d4b8c3c0..0f1f04e99 100644
--- a/src/modules/m_sslinfo.cpp
+++ b/src/modules/m_sslinfo.cpp
@@ -83,6 +83,14 @@ class ModuleSSLInfo : public Module
return Version("$Id$", VF_VENDOR, API_VERSION);
}
+ virtual void OnCleanup(int target_type, void* item)
+ {
+ if (target_type != TYPE_USER)
+ return;
+ User* user = static_cast<User*>(item);
+ user->Shrink("ssl_cert");
+ }
+
virtual void OnWhois(User* source, User* dest)
{
if(dest->GetExt("ssl"))