Преглед изворни кода

bsd: Check if socket is bound before calling RecvFrom() (#3761)

TSRBerry пре 3 година
родитељ
комит
e43390c723
1 измењених фајлова са 8 додато и 1 уклоњено
  1. 8 1
      Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/ManagedSocket.cs

+ 8 - 1
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
             }
         }
     }
-}
+}