diff options
| author | Gliniak <Gliniak93@gmail.com> | 2023-01-05 21:02:55 +0100 |
|---|---|---|
| committer | Rick Gibbed <rick@gibbed.us> | 2023-06-09 19:47:56 -0500 |
| commit | 00aba94b98b1369d604f233fcd6a9dbbc233f3bb (patch) | |
| tree | 04c73b586c0ef26716b065594315c4b7dab69bb5 | |
| parent | 07e81fe1727df1516d613bbaba209c35ba5f9f00 (diff) | |
[NET] NetDll___WSAFDIsSet: Fixed incorrect endianness of fd_count
Plus: limit it to 64 entries
Thanks to Bo98 for pointing that out
| -rw-r--r-- | src/xenia/kernel/xam/xam_net.cc | 4 |
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; } |
