aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2022-10-15 22:52:49 +0200
committerGitHub <noreply@github.com>2022-10-15 20:52:49 +0000
commite43390c7233af875133f23bfcfc6e4a211080070 (patch)
treecf86a6513810dee01df03c5aecc2fffbe700f75d
parent5af132706822d5aa3fc3942af2d5bd7abb185f2d (diff)
bsd: Check if socket is bound before calling RecvFrom() (#3761)1.1.300
-rw-r--r--Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/ManagedSocket.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/ManagedSocket.cs b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/ManagedSocket.cs
index 1b6ede86..3db7c222 100644
--- a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/ManagedSocket.cs
+++ b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/ManagedSocket.cs
@@ -235,6 +235,13 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
shouldBlockAfterOperation = true;
}
+ if (!Socket.IsBound)
+ {
+ receiveSize = -1;
+
+ return LinuxError.EOPNOTSUPP;
+ }
+
receiveSize = Socket.ReceiveFrom(buffer[..size], ConvertBsdSocketFlags(flags), ref temp);
remoteEndPoint = (IPEndPoint)temp;
@@ -519,4 +526,4 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
}
}
}
-}
+} \ No newline at end of file