From 30108cfd3199b0cc8de75c4b353122bc4a596c51 Mon Sep 17 00:00:00 2001 From: Art Yerkes Date: Sat, 23 Aug 2008 09:01:29 +0000 Subject: [PATCH] Should've done this a long time ago. Just noticed that we're potentially sending a bunch of 0 handles into AfdSelect. svn path=/trunk/; revision=35553 --- reactos/dll/win32/msafd/misc/dllmain.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/msafd/misc/dllmain.c b/reactos/dll/win32/msafd/misc/dllmain.c index 084257aafc5..7987075552e 100644 --- a/reactos/dll/win32/msafd/misc/dllmain.c +++ b/reactos/dll/win32/msafd/misc/dllmain.c @@ -15,8 +15,8 @@ #include #ifdef DBG -//DWORD DebugTraceLevel = DEBUG_ULTRA; -DWORD DebugTraceLevel = 0; +DWORD DebugTraceLevel = DEBUG_ULTRA; +//DWORD DebugTraceLevel = 0; #endif /* DBG */ HANDLE GlobalHeap; @@ -598,7 +598,7 @@ WSPSelect( IO_STATUS_BLOCK IOSB; PAFD_POLL_INFO PollInfo; NTSTATUS Status; - ULONG HandleCount, OutCount = 0; + LONG HandleCount, OutCount = 0; ULONG PollBufferSize; PVOID PollBuffer; ULONG i, j = 0, x; @@ -661,7 +661,6 @@ WSPSelect( RtlZeroMemory( PollInfo, PollBufferSize ); /* Number of handles for AFD to Check */ - PollInfo->HandleCount = HandleCount; PollInfo->Exclusive = FALSE; PollInfo->Timeout = Timeout; @@ -689,6 +688,9 @@ WSPSelect( } } + PollInfo->HandleCount = j; + PollBufferSize = ((PCHAR)&PollInfo->Handles[j+1]) - ((PCHAR)PollInfo); + /* Send IOCTL */ Status = NtDeviceIoControlFile( (HANDLE)PollInfo->Handles[0].Handle, SockEvent,