about summary refs log tree commit diff
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network/getaddrinfo.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/network/getaddrinfo.c b/src/network/getaddrinfo.c
index b9e562f7..b341912d 100644
--- a/src/network/getaddrinfo.c
+++ b/src/network/getaddrinfo.c
@@ -76,8 +76,7 @@ int getaddrinfo(const char *restrict host, const char *restrict serv, const stru
 	if (serv) {
 		if (!*serv) return EAI_SERVICE;
 		port = strtoul(serv, &z, 10);
-		if (!*z && port > 65535) return EAI_SERVICE;
-		if (!port) {
+		if (*z) {
 			size_t servlen = strlen(serv);
 			char *end = line;
 
@@ -96,6 +95,7 @@ int getaddrinfo(const char *restrict host, const char *restrict serv, const stru
 			__fclose_ca(f);
 			if (feof(f)) return EAI_SERVICE;
 		}
+		if (port > 65535) return EAI_SERVICE;
 		port = htons(port);
 	}