--- socket.c.orig +++ socket.c @@ -282,7 +282,7 @@ sock_hostname(struct host_info *host) return; } - if (STR_NE (host->name, res->ai_canonname) && STR_NE(host->name, "localhost")) + if ((!res->ai_canonname || STR_NE (host->name, res->ai_canonname)) && STR_NE(host->name, "localhost")) { /* We don't treat this as an error, though... */ tcpd_warn("host name mismatch: %s != %s (%s)",