From f86d7e3982a9fa0cfe6fde81e7abf9403ed193f1 Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 23 Jul 2007 17:42:48 +0000 Subject: A couple of tweaks that i did earlier as diffs. ISON didnt always respect invisibility state of users. socketengine iocp didnt range check fd's before passing them for array lookup git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7502 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/socketengine_iocp.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/socketengine_iocp.cpp') 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); -- cgit v1.3.1-10-gc9f91