diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-02 00:51:48 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-02 00:51:48 +0000 |
commit | 0155dd1e97f323668442d3fc07b927e8f9004dbe (patch) | |
tree | 646782c0fb0b4ea1e2ed0e81c2e1c7e356bb6fa4 /src/modules/m_sslinfo.cpp | |
parent | e20d6e0bbad966865e3f4fba4482c03eef09cb76 (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
Diffstat (limited to 'src/modules/m_sslinfo.cpp')
-rw-r--r-- | src/modules/m_sslinfo.cpp | 8 |
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")) |