From f4e8e64b82a85158d9de884e1765474c0c317d19 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Mon, 1 Aug 2011 00:11:25 -0400 Subject: [PATCH] port numbers should always be interpreted as decimal per POSIX and RFC 3493: If the specified address family is AF_INET, AF_INET6, or AF_UNSPEC, the service can be specified as a string specifying a decimal port number. 021 is a valid decimal number, therefore, interpreting it as octal seems to be non-conformant. --- src/network/getaddrinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/getaddrinfo.c b/src/network/getaddrinfo.c index 494b412a..e5fa5191 100644 --- a/src/network/getaddrinfo.c +++ b/src/network/getaddrinfo.c @@ -76,7 +76,7 @@ int getaddrinfo(const char *host, const char *serv, const struct addrinfo *hint, if (serv) { if (!*serv) return EAI_SERVICE; - port = strtoul(serv, &z, 0); + port = strtoul(serv, &z, 10); if (!*z && port > 65535) return EAI_SERVICE; if (!port) { if (flags & AI_NUMERICSERV) return EAI_SERVICE;