Browse Source

fix getaddrinfo error code for non-numeric service with AI_NUMERICSERV

If AI_NUMERICSERV is specified and a numeric service was not provided,
POSIX mandates getaddrinfo return EAI_NONAME. EAI_SERVICE is only for
services that cannot be used on the specified socket type.
A. Wilcox 7 years ago
parent
commit
30fdda6c99
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/network/lookup_serv.c

+ 1 - 1
src/network/lookup_serv.c

@@ -64,7 +64,7 @@ int __lookup_serv(struct service buf[static MAXSERVS], const char *name, int pro
 		return cnt;
 	}
 
-	if (flags & AI_NUMERICSERV) return EAI_SERVICE;
+	if (flags & AI_NUMERICSERV) return EAI_NONAME;
 
 	size_t l = strlen(name);