From 0b9f6763992cf3d2e89001b6ab226f81221bf908 Mon Sep 17 00:00:00 2001 From: Brendon <43822289+12brendon34@users.noreply.github.com> Date: Sun, 15 Mar 2026 20:16:41 -0700 Subject: [PATCH] Update IsNumericAddress Better then heuristic check --- .../Windows64/Network/WinsockNetLayer.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Minecraft.Client/Windows64/Network/WinsockNetLayer.cpp b/Minecraft.Client/Windows64/Network/WinsockNetLayer.cpp index ca5ad6fc4..c71030c0e 100644 --- a/Minecraft.Client/Windows64/Network/WinsockNetLayer.cpp +++ b/Minecraft.Client/Windows64/Network/WinsockNetLayer.cpp @@ -213,16 +213,17 @@ void WinsockNetLayer::Shutdown() bool WinsockNetLayer::IsNumericAddress(const char* addr) { - if (addr == NULL) + if (addr == nullptr) return false; - if (strchr(addr, ':') != NULL) - return true;// IPv6 + in6_addr buf{}; + if (inet_pton(AF_INET6, addr, &buf) == 1) + return true; - if (inet_addr(addr) != INADDR_NONE) - return true;// IPv4 + if (inet_pton(AF_INET, addr, &buf) == 1) + return true; - return false;// hostname + return false; } bool WinsockNetLayer::HostGame(int port, const char* bindIp)