From 6f568da64e625a1e517de6147058888515a0ccb7 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 11 Sep 2012 17:11:44 +0200 Subject: lib9/p9dialparse: fix segfault on gethostbyname In some situations, gethostbyname can return an empty address list. R=rsc http://codereview.appspot.com/6443097 --- src/lib9/_p9dialparse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib9/_p9dialparse.c b/src/lib9/_p9dialparse.c index 4ff4d3cc..2cc23574 100644 --- a/src/lib9/_p9dialparse.c +++ b/src/lib9/_p9dialparse.c @@ -109,7 +109,7 @@ p9dialparse(char *addr, char **pnet, char **punix, void *phost, int *pport) if(strcmp(host, "*") == 0){ ss->ss_family = AF_INET6; ((struct sockaddr_in6*)ss)->sin6_addr = in6addr_any; - }else if((he = gethostbyname(host)) != nil){ + }else if((he = gethostbyname(host)) != nil && he->h_addr_list[0] != nil){ ss->ss_family = he->h_addrtype; switch(ss->ss_family){ case AF_INET: -- cgit v1.2.3