reject invalid address families in getaddrinfo

subsequent code assumes the address family requested is either
unspecified or one of IPv4/IPv6, and could malfunction if this
constraint is not met, so other address families should be explicitly
rejected.
This commit is contained in:
Rich Felker 2013-11-27 00:54:03 -05:00
parent a663c93019
commit cabe9aa974

View File

@ -62,6 +62,9 @@ int getaddrinfo(const char *restrict host, const char *restrict serv, const stru
int result;
int cnt;
if (family != AF_INET && family != AF_INET6 && family != AF_UNSPEC)
return EAI_FAMILY;
if (host && strlen(host)>255) return EAI_NONAME;
if (serv && strlen(serv)>32) return EAI_SERVICE;