Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Aug 2016 07:08:30 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r304945 - stable/11/lib/libc/net
Message-ID:  <201608280708.u7S78UWg055519@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sun Aug 28 07:08:29 2016
New Revision: 304945
URL: https://svnweb.freebsd.org/changeset/base/304945

Log:
  MFC r304034:
  
  Initialize `ai` to NULL and test for `ai` with type-appropriate values
  
  Depending on the address family and ai_flags containing AI_V4MAPPED,
  it might not do a proper DNS lookup on the provided DNS address
  
  Convert some `ai` boolean true/false checks to NULL/non-NULL while here.
  
  PR:		211790

Modified:
  stable/11/lib/libc/net/getaddrinfo.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/lib/libc/net/getaddrinfo.c
==============================================================================
--- stable/11/lib/libc/net/getaddrinfo.c	Sun Aug 28 05:42:03 2016	(r304944)
+++ stable/11/lib/libc/net/getaddrinfo.c	Sun Aug 28 07:08:29 2016	(r304945)
@@ -2249,6 +2249,8 @@ _dns_getaddrinfo(void *rv, void *cb_data
 	struct res_target q, q2;
 	res_state res;
 
+	ai = NULL;
+
 	hostname = va_arg(ap, char *);
 	pai = va_arg(ap, const struct addrinfo *);
 
@@ -2327,16 +2329,16 @@ _dns_getaddrinfo(void *rv, void *cb_data
 	/* prefer IPv6 */
 	if (q.next) {
 		ai = getanswer(buf2, q2.n, q2.name, q2.qtype, pai, res);
-		if (ai) {
+		if (ai != NULL) {
 			cur->ai_next = ai;
 			while (cur && cur->ai_next)
 				cur = cur->ai_next;
 		}
 	}
-	if (!ai || pai->ai_family != AF_UNSPEC ||
+	if (ai == NULL || pai->ai_family != AF_UNSPEC ||
 	    (pai->ai_flags & (AI_ALL | AI_V4MAPPED)) != AI_V4MAPPED) {
 		ai = getanswer(buf, q.n, q.name, q.qtype, pai, res);
-		if (ai)
+		if (ai != NULL)
 			cur->ai_next = ai;
 	}
 	free(buf);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608280708.u7S78UWg055519>