X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fdll%2Fwin32%2Fmsafd%2Fmisc%2Fsndrcv.c;h=db26a3671014d189bb329f5ec5cd43688797acc1;hp=7f27fd43eb013471c293206ac16a3851611c43c7;hb=88c29ff4f2a681574506a5bf8bcb98a17b0c01eb;hpb=ad1721c01643fcb01a52b9f072341f77a254803c;ds=sidebyside diff --git a/reactos/dll/win32/msafd/misc/sndrcv.c b/reactos/dll/win32/msafd/misc/sndrcv.c index 7f27fd43eb0..db26a367101 100644 --- a/reactos/dll/win32/msafd/misc/sndrcv.c +++ b/reactos/dll/win32/msafd/misc/sndrcv.c @@ -29,6 +29,11 @@ WSPAsyncSelect(IN SOCKET Handle, /* Get the Socket Structure associated to this Socket */ Socket = GetSocketStructure(Handle); + if (!Socket) + { + *lpErrno = WSAENOTSOCK; + return SOCKET_ERROR; + } /* Allocate the Async Data Structure to pass on to the Thread later */ AsyncData = HeapAlloc(GetProcessHeap(), 0, sizeof(*AsyncData)); @@ -111,6 +116,11 @@ WSPRecv(SOCKET Handle, /* Get the Socket Structure associate to this Socket*/ Socket = GetSocketStructure(Handle); + if (!Socket) + { + *lpErrno = WSAENOTSOCK; + return SOCKET_ERROR; + } Status = NtCreateEvent( &SockEvent, GENERIC_READ | GENERIC_WRITE, NULL, 1, FALSE ); @@ -261,6 +271,11 @@ WSPRecvFrom(SOCKET Handle, /* Get the Socket Structure associate to this Socket*/ Socket = GetSocketStructure(Handle); + if (!Socket) + { + *lpErrno = WSAENOTSOCK; + return SOCKET_ERROR; + } Status = NtCreateEvent( &SockEvent, GENERIC_READ | GENERIC_WRITE, NULL, 1, FALSE ); @@ -399,6 +414,11 @@ WSPSend(SOCKET Handle, /* Get the Socket Structure associate to this Socket*/ Socket = GetSocketStructure(Handle); + if (!Socket) + { + *lpErrno = WSAENOTSOCK; + return SOCKET_ERROR; + } Status = NtCreateEvent( &SockEvent, GENERIC_READ | GENERIC_WRITE, NULL, 1, FALSE ); @@ -523,6 +543,11 @@ WSPSendTo(SOCKET Handle, /* Get the Socket Structure associate to this Socket */ Socket = GetSocketStructure(Handle); + if (!Socket) + { + *lpErrno = WSAENOTSOCK; + return SOCKET_ERROR; + } /* Bind us First */ if (Socket->SharedData.State == SocketOpen)