From dd688f4eb001d93e815e857a09f07ab3a9a75816 Mon Sep 17 00:00:00 2001 From: OatmealDome <julian@oatmealdome.me> Date: Sun, 1 Nov 2020 14:47:00 -0500 Subject: [PATCH] Top: Set port when connecting a socket to find the default interface --- Source/Core/Core/IOS/Network/IP/Top.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/IOS/Network/IP/Top.cpp b/Source/Core/Core/IOS/Network/IP/Top.cpp index 53fd9b2699..800259c5f8 100644 --- a/Source/Core/Core/IOS/Network/IP/Top.cpp +++ b/Source/Core/Core/IOS/Network/IP/Top.cpp @@ -223,8 +223,10 @@ static std::optional<DefaultInterface> GetSystemDefaultInterface() sockaddr_in addr{}; socklen_t length = sizeof(addr); addr.sin_family = AF_INET; - // The address is irrelevant -- no packet is actually sent. This just needs to be a public IP. + // The address and port are irrelevant -- no packet is actually sent. These just need to be set + // to a valid IP and port. addr.sin_addr.s_addr = inet_addr(8, 8, 8, 8); + addr.sin_port = htons(53); if (connect(sock, reinterpret_cast<const sockaddr*>(&addr), sizeof(addr)) == -1) return {}; if (getsockname(sock, reinterpret_cast<sockaddr*>(&addr), &length) == -1)