diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-03 18:26:25 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-03 18:26:25 +0000 |
commit | c992372f80a3668ca3dd1b62ebe7b8284111bd0a (patch) | |
tree | 30880be41fa2ffdc3591e89e0b5677677fd5f5c7 /src | |
parent | 882208fc76300568838ee0491ddf68badb735d67 (diff) |
Fixed to not crash on /PARK (still more to test)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2729 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/userprocess.cpp | 2 | ||||
-rw-r--r-- | src/users.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/userprocess.cpp b/src/userprocess.cpp index ba4cc48bb..c4541c29a 100644 --- a/src/userprocess.cpp +++ b/src/userprocess.cpp @@ -81,6 +81,8 @@ extern chan_hash chanlist; void ProcessUser(userrec* cu) { int result = EAGAIN; + if (cu->fd == FD_MAGIC_NUMBER) + return; log(DEBUG,"Processing user with fd %d",cu->fd); if (Config->GetIOHook(cu->port)) { diff --git a/src/users.cpp b/src/users.cpp index e913086c2..5429e612e 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -284,7 +284,7 @@ void userrec::AddWriteBuf(std::string data) // send AS MUCH OF THE USERS SENDQ as we are able to (might not be all of it) void userrec::FlushWriteBuf() { - if (sendq.length()) + if ((sendq.length()) && (this->fd != FD_MAGIC_NUMBER)) { char* tb = (char*)this->sendq.c_str(); int n_sent = write(this->fd,tb,this->sendq.length()); @@ -467,7 +467,8 @@ void AddWhoWas(userrec* u) strlcpy(a->dhost,u->dhost,160); strlcpy(a->host,u->host,160); strlcpy(a->fullname,u->fullname,MAXGECOS); - strlcpy(a->server,u->server,256); + if (u->server) + strlcpy(a->server,u->server,256); a->signon = u->signon; /* MAX_WHOWAS: max number of /WHOWAS items |