Fix NRE when calling GetSockName before Bind (#6206)

This commit is contained in:
gdkchan
2024-01-29 12:28:32 -03:00
committed by GitHub
parent f6475cca17
commit 30bdc4544e

View File

@ -121,8 +121,15 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
{ {
IPEndPoint endPoint = isRemote ? socket.RemoteEndPoint : socket.LocalEndPoint; IPEndPoint endPoint = isRemote ? socket.RemoteEndPoint : socket.LocalEndPoint;
if (endPoint != null)
{
context.Memory.Write(bufferPosition, BsdSockAddr.FromIPEndPoint(endPoint)); context.Memory.Write(bufferPosition, BsdSockAddr.FromIPEndPoint(endPoint));
} }
else
{
context.Memory.Write(bufferPosition, new BsdSockAddr());
}
}
[CommandCmif(0)] [CommandCmif(0)]
// Initialize(nn::socket::BsdBufferConfig config, u64 pid, u64 transferMemorySize, KObject<copy, transfer_memory>, pid) -> u32 bsd_errno // Initialize(nn::socket::BsdBufferConfig config, u64 pid, u64 transferMemorySize, KObject<copy, transfer_memory>, pid) -> u32 bsd_errno