Skip to content

Commit 2f17bdf

Browse files
authored
[8.0] Guard against empty Accept address (#108334)
* guard agains empty Accept address * remove assert
1 parent 15de9cc commit 2f17bdf

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3601,15 +3601,15 @@ internal void InternalSetBlocking(bool desired)
36013601
}
36023602

36033603
// CreateAcceptSocket - pulls unmanaged results and assembles them into a new Socket object.
3604-
internal Socket CreateAcceptSocket(SafeSocketHandle fd, EndPoint remoteEP)
3604+
internal Socket CreateAcceptSocket(SafeSocketHandle fd, EndPoint? remoteEP)
36053605
{
36063606
// Internal state of the socket is inherited from listener.
36073607
Debug.Assert(fd != null && !fd.IsInvalid);
36083608
Socket socket = new Socket(fd, loadPropertiesFromHandle: false);
36093609
return UpdateAcceptSocket(socket, remoteEP);
36103610
}
36113611

3612-
internal Socket UpdateAcceptSocket(Socket socket, EndPoint remoteEP)
3612+
internal Socket UpdateAcceptSocket(Socket socket, EndPoint? remoteEP)
36133613
{
36143614
// Internal state of the socket is inherited from listener.
36153615
socket._addressFamily = _addressFamily;

src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEventArgs.Unix.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ private void CompleteAcceptOperation(IntPtr acceptedFileDescriptor, Memory<byte>
3535
_acceptedFileDescriptor = acceptedFileDescriptor;
3636
if (socketError == SocketError.Success)
3737
{
38-
Debug.Assert(socketAddress.Length > 0);
3938
_acceptAddressBufferCount = socketAddress.Length;
4039
}
4140
else
@@ -343,7 +342,7 @@ private SocketError FinishOperationAccept(SocketAddress remoteSocketAddress)
343342

344343
Socket acceptedSocket = _currentSocket!.CreateAcceptSocket(
345344
SocketPal.CreateSocket(_acceptedFileDescriptor),
346-
_currentSocket._rightEndPoint!.Create(remoteSocketAddress));
345+
remoteSocketAddress.Size > 0 ? _currentSocket._rightEndPoint!.Create(remoteSocketAddress) : null);
347346
if (_acceptSocket is null)
348347
{
349348
// Store the accepted socket

0 commit comments

Comments
 (0)