summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network/getaddrinfo.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/network/getaddrinfo.c b/src/network/getaddrinfo.c
index c0f135f3..494b412a 100644
--- a/src/network/getaddrinfo.c
+++ b/src/network/getaddrinfo.c
@@ -75,6 +75,7 @@ int getaddrinfo(const char *host, const char *serv, const struct addrinfo *hint,
type = proto==IPPROTO_UDP ? SOCK_DGRAM : SOCK_STREAM;
if (serv) {
+ if (!*serv) return EAI_SERVICE;
port = strtoul(serv, &z, 0);
if (!*z && port > 65535) return EAI_SERVICE;
if (!port) {
@@ -107,6 +108,8 @@ int getaddrinfo(const char *host, const char *serv, const struct addrinfo *hint,
return 0;
}
+ if (!*host) return EAI_NONAME;
+
/* Try as a numeric address */
if (__ipparse(&sa, family, host) >= 0) {
buf = calloc(sizeof *buf, 1+EXTRA);