summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-08-20 13:40:35 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-08-20 13:40:35 +0000
commitd9dcf0459cc5d23d1527f33b108d1d8417f8dce3 (patch)
treeb6fcd4363df5ca88389ad79cdfd8eaa2edbc2f89
parent01dbd2658f357b4978f6ac7494704a24548228db (diff)
Fix access-after-free on rehash
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11534 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/configreader.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp
index a6d6e3c85..7babc7bb7 100644
--- a/src/configreader.cpp
+++ b/src/configreader.cpp
@@ -706,8 +706,8 @@ void ServerConfig::CrossCheckConnectBlocks(ServerConfig* current)
ClassMap::iterator oldMask = oldBlocksByMask.find(typeMask);
if (oldMask != oldBlocksByMask.end())
{
- oldBlocksByMask.erase(oldMask);
ConnectClass* old = oldMask->second;
+ oldBlocksByMask.erase(oldMask);
old->Update(me);
delete me;
me = old;