diff --git a/src/network/core/host.cpp b/src/network/core/host.cpp index bcb048e474..c42bd70428 100644 --- a/src/network/core/host.cpp +++ b/src/network/core/host.cpp @@ -110,7 +110,7 @@ static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // Wi if (sock == INVALID_SOCKET) return; DWORD len = 0; - int num = 2; + int num = 8; INTERFACE_INFO *ifo = CallocT(num); for (;;) { @@ -123,6 +123,7 @@ static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // Wi num *= 2; ifo = CallocT(num); } + assert(len <= num * sizeof(*ifo)); for (uint j = 0; j < len / sizeof(*ifo); j++) { if (ifo[j].iiFlags & IFF_LOOPBACK) continue;