summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-21 18:41:24 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-21 18:41:24 +0000
commit3499c913a00d17e7f1ec28bf54b07aa4ded83ff7 (patch)
tree5b83c151efed669b6125d1e70a84f9e1a319e41e
parent74f26a0375191ce239b0e3542fc73e57b5e6c291 (diff)
Fix for delete-when-we-shouldnt bug similar to what stskeeps found yesterday
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7787 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree/main.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index 3d472bf7a..0be0007d2 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -553,7 +553,8 @@ void ModuleSpanningTree::ConnectServer(Link* x)
else
{
ServerInstance->SNO->WriteToSnoMask('l',"CONNECT: Error connecting \002%s\002: %s.",x->Name.c_str(),strerror(errno));
- delete newsocket;
+ if (ServerInstance->SocketCull.find(newsocket) == ServerInstance->SocketCull.end())
+ ServerInstance->SocketCull[newsocket] = newsocket;
Utils->DoFailOver(x);
}
}