Bsd: Fix NullReferenceException in BsdSockAddr.FromIPEndPoint() (#3652)
* Bsd: Fix NullReferenceException in BsdSockAddr.FromIPEndPoint() Allows "Victor Vran Overkill Edition" to boot with guest internet access enabled. Thanks to EmulationFanatic for testing this for me! * Bsd: Return proper error code if RemoteEndPoint is null * Remove whitespace from empty line Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
This commit is contained in:
parent
38275f9056
commit
5ff5fe47ba
@ -573,14 +573,18 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
|
|||||||
|
|
||||||
LinuxError errno = LinuxError.EBADF;
|
LinuxError errno = LinuxError.EBADF;
|
||||||
ISocket socket = _context.RetrieveSocket(socketFd);
|
ISocket socket = _context.RetrieveSocket(socketFd);
|
||||||
|
|
||||||
if (socket != null)
|
if (socket != null)
|
||||||
{
|
{
|
||||||
errno = LinuxError.SUCCESS;
|
errno = LinuxError.ENOTCONN;
|
||||||
|
|
||||||
WriteSockAddr(context, bufferPosition, socket, true);
|
if (socket.RemoteEndPoint != null)
|
||||||
WriteBsdResult(context, 0, errno);
|
{
|
||||||
context.ResponseData.Write(Unsafe.SizeOf<BsdSockAddr>());
|
errno = LinuxError.SUCCESS;
|
||||||
|
|
||||||
|
WriteSockAddr(context, bufferPosition, socket, true);
|
||||||
|
WriteBsdResult(context, 0, errno);
|
||||||
|
context.ResponseData.Write(Unsafe.SizeOf<BsdSockAddr>());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return WriteBsdResult(context, 0, errno);
|
return WriteBsdResult(context, 0, errno);
|
||||||
@ -903,4 +907,4 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
|
|||||||
return WriteBsdResult(context, newSockFd, errno);
|
return WriteBsdResult(context, newSockFd, errno);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user