diff options
author | Adam <Adam@anope.org> | 2013-12-26 21:06:07 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-12-26 21:06:07 -0500 |
commit | 16f3f0cbc0f3ad6a150b09b35ac22b65d14ac38e (patch) | |
tree | 625e57b9f5012de102b0464a4f9a6dfc5ff3c809 /modules/extra/m_ldap.cpp | |
parent | b28db7bc551bd011f05d39328ec95c39df065fcd (diff) |
Don't leak ldap results
Diffstat (limited to 'modules/extra/m_ldap.cpp')
-rw-r--r-- | modules/extra/m_ldap.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/extra/m_ldap.cpp b/modules/extra/m_ldap.cpp index 01e927633..1fc8460f7 100644 --- a/modules/extra/m_ldap.cpp +++ b/modules/extra/m_ldap.cpp @@ -497,8 +497,13 @@ class ModuleLDAP : public Module, public Pipe for (unsigned i = s->results.size(); i > 0; --i) { LDAPInterface *li = s->results[i - 1].first; + LDAPResult *r = s->results[i - 1].second; + if (li->owner == m) + { s->results.erase(s->results.begin() + i - 1); + delete r; + } } s->Unlock(); } @@ -524,6 +529,8 @@ class ModuleLDAP : public Module, public Pipe li->OnError(*r); else li->OnResult(*r); + + delete r; } } } |