diff options
-rw-r--r-- | src/cmd_ison.cpp | 3 | ||||
-rw-r--r-- | src/socketengine_iocp.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd_ison.cpp b/src/cmd_ison.cpp index 0cee160c7..d050af982 100644 --- a/src/cmd_ison.cpp +++ b/src/cmd_ison.cpp @@ -36,6 +36,9 @@ CmdResult cmd_ison::Handle (const char** parameters, int pcnt, userrec *user) if (u) { + if (u->Visibility && !u->Visibility->VisibleTo(user)) + continue; + reply.append(u->nick).append(" "); if (reply.length() > 450) { diff --git a/src/socketengine_iocp.cpp b/src/socketengine_iocp.cpp index c5c589e5f..ab894299c 100644 --- a/src/socketengine_iocp.cpp +++ b/src/socketengine_iocp.cpp @@ -257,6 +257,9 @@ int IOCPEngine::DispatchEvents() while (GetQueuedCompletionStatus(m_completionPort, &len, &intfd, &overlap, 1000)) { + if (intfd < 0 || intfd > MAX_DESCRIPTORS) + continue; + // woot, we got an event on a socket :P eh = ref[intfd]; ov = CONTAINING_RECORD(overlap, Overlapped, m_overlap); |