summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-01 21:04:04 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-01 21:04:04 +0000
commit7f4395d336c331dd434bca91b6273c072f26e1bc (patch)
tree9b8114cab35b34701c9d72811e7738bcae976bfb /src/inspircd.cpp
parentfba70f50c5b135e5e0e7f95c7d834c01cbbaa824 (diff)
Fixed 'unlikely' crash if nick was changed before dns lookup was completed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@942 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 989e3e6b7..5a16c9851 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -1933,6 +1933,7 @@ void kill_link(userrec *user,const char* r)
if (user->registered == 7) {
purge_empty_chans();
}
+ user = NULL;
}
void kill_link_silent(userrec *user,const char* r)
@@ -2213,8 +2214,6 @@ void AddClient(int socket, char* host, int port, bool iscached, char* ip)
clientlist[tempnick]->port = port;
strncpy(clientlist[tempnick]->ip,ip,32);
- lookup_dns(clientlist[tempnick]);
-
// set the registration timeout for this user
unsigned long class_regtimeout = 90;
for (ClassVector::iterator i = Classes.begin(); i != Classes.end(); i++)
@@ -2464,11 +2463,6 @@ void HandlePendingConnects()
return;
}
}
- else
- {
- pending_connects.erase(i);
- return;
- }
}
}
}
@@ -3471,9 +3465,10 @@ int InspIRCd(void)
{
for( int n = 0; n < fd_reap.size(); n++)
{
- Blocking(fd_reap[n]);
+ //Blocking(fd_reap[n]);
close(fd_reap[n]);
- NonBlocking(fd_reap[n]);
+ shutdown (fd_reap[n],2);
+ //NonBlocking(fd_reap[n]);
}
}
fd_reap.clear();