From: Athanasios Douitsis Date: Sat, 18 Feb 2017 21:30:27 +0000 (+0000) Subject: Prevent null pointer exception for h->ai_canonname X-Git-Tag: neomutt-20170225~13^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dab6a96ebac5ee07a224f602b22267c8f39f4660;p=neomutt Prevent null pointer exception for h->ai_canonname The getaddrinfo call in line 54 sets &h to a struct addrinfo. If a canonical name cannot be found for the node argument of getaddrinfo, h->ai_canonname is set to NULL. In that case, the strchr call in line 58 can lead to segfault. This behavior was observed on a macos sierra while the hostname was 192.168.1.3 (unfortunately this happens quite often in macos). The fix is simple, just check h->ai_canonname for the NULL value. --- diff --git a/getdomain.c b/getdomain.c index 6527a36b9..f7bace7d5 100644 --- a/getdomain.c +++ b/getdomain.c @@ -55,7 +55,7 @@ int getdnsdomainname (char *d, size_t len) ret = -1; else { - if (!(p = strchr(h->ai_canonname, '.'))) + if (!h->ai_canonname || !(p = strchr(h->ai_canonname, '.'))) ret = -1; else {