From: Georg Brandl Date: Mon, 14 Aug 2006 22:10:24 +0000 (+0000) Subject: Patch #1511317: don't crash on invalid hostname info X-Git-Tag: v2.5c1~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9dc7b7ce82562c07fc7077124ef46ca15f5b9528;p=python Patch #1511317: don't crash on invalid hostname info --- diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index bb99bdeb9d..f03b34c057 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -3041,17 +3041,20 @@ gethost_common(struct hostent *h, struct sockaddr *addr, int alen, int af) if ((addr_list = PyList_New(0)) == NULL) goto err; - for (pch = h->h_aliases; *pch != NULL; pch++) { - int status; - tmp = PyString_FromString(*pch); - if (tmp == NULL) - goto err; - - status = PyList_Append(name_list, tmp); - Py_DECREF(tmp); - - if (status) - goto err; + /* SF #1511317: h_aliases can be NULL */ + if (h->h_aliases) { + for (pch = h->h_aliases; *pch != NULL; pch++) { + int status; + tmp = PyString_FromString(*pch); + if (tmp == NULL) + goto err; + + status = PyList_Append(name_list, tmp); + Py_DECREF(tmp); + + if (status) + goto err; + } } for (pch = h->h_addr_list; *pch != NULL; pch++) {