diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-08-20 13:40:35 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-08-20 13:40:35 +0000 |
commit | d9dcf0459cc5d23d1527f33b108d1d8417f8dce3 (patch) | |
tree | b6fcd4363df5ca88389ad79cdfd8eaa2edbc2f89 /src/configreader.cpp | |
parent | 01dbd2658f357b4978f6ac7494704a24548228db (diff) |
Fix access-after-free on rehash
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11534 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/configreader.cpp')
-rw-r--r-- | src/configreader.cpp | 2 |
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; |