summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGliniak <Gliniak93@gmail.com>2023-01-05 21:02:55 +0100
committerRick Gibbed <rick@gibbed.us>2023-06-09 19:47:56 -0500
commit00aba94b98b1369d604f233fcd6a9dbbc233f3bb (patch)
tree04c73b586c0ef26716b065594315c4b7dab69bb5 /src
parent07e81fe1727df1516d613bbaba209c35ba5f9f00 (diff)
[NET] NetDll___WSAFDIsSet: Fixed incorrect endianness of fd_count
Plus: limit it to 64 entries Thanks to Bo98 for pointing that out
Diffstat (limited to 'src')
-rw-r--r--src/xenia/kernel/xam/xam_net.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/xenia/kernel/xam/xam_net.cc b/src/xenia/kernel/xam/xam_net.cc
index a331f139d..c208198cd 100644
--- a/src/xenia/kernel/xam/xam_net.cc
+++ b/src/xenia/kernel/xam/xam_net.cc
@@ -1017,7 +1017,9 @@ DECLARE_XAM_EXPORT1(NetDll_sendto, kNetworking, kImplemented);
dword_result_t NetDll___WSAFDIsSet_entry(dword_t socket_handle,
pointer_t<x_fd_set> fd_set) {
- for (uint32_t i = 0; i < fd_set->fd_count.value; i++) {
+ const uint8_t max_fd_count =
+ std::min((uint32_t)fd_set->fd_count, uint32_t(64));
+ for (uint8_t i = 0; i < max_fd_count; i++) {
if (fd_set->fd_array[i] == socket_handle) {
return 1;
}