disallow blank strings as service or host name
authorRich Felker <dalias@aerifal.cx>
Thu, 21 Apr 2011 00:02:35 +0000 (20:02 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 21 Apr 2011 00:02:35 +0000 (20:02 -0400)
src/network/getaddrinfo.c

index c0f135f31442591435fcdd5f70159f4cef537465..494b412a4a1e5826eacc850d964ceb2ac7616a19 100644 (file)
@@ -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);