diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-08-19 15:09:27 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-08-19 15:09:27 +0000 |
commit | 01dbd2658f357b4978f6ac7494704a24548228db (patch) | |
tree | 938a5a3583b81f2a318fd581007428fd11c8f45e | |
parent | 14ec488aebeb813e618e47f8e785e1f37781fc41 (diff) |
Fix a regression from fcb51634669e6ed588e42f2072c6f910e267126f ("fix uid collision on spanningtree reload") caused by access-after-free.
Thanks to transnet for the report.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11533 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_spanningtree/utils.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index 9ae6d4d14..46769a6f4 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -176,8 +176,10 @@ SpanningTreeUtilities::~SpanningTreeUtilities() sock->Close(); } } - delete TreeRoot; + + // This avoids a collision on reload ServerUser->uuid = TreeRoot->GetID(); + delete TreeRoot; delete ServerUser; ServerInstance->BufferedSocketCull(); } |