Author: ngie
Date: Mon Aug 29 07:46:23 2016
New Revision: 304990
URL: https://svnweb.freebsd.org/changeset/base/304990

Log:
  MFstable/10 r304982:
  
  MFstable/11 r304945:
  
  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/9/lib/libc/net/getaddrinfo.c
Directory Properties:
  stable/9/   (props changed)
  stable/9/lib/   (props changed)
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/net/getaddrinfo.c
==============================================================================
--- stable/9/lib/libc/net/getaddrinfo.c Mon Aug 29 06:54:38 2016        
(r304989)
+++ stable/9/lib/libc/net/getaddrinfo.c Mon Aug 29 07:46:23 2016        
(r304990)
@@ -2246,6 +2246,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 *);
 
@@ -2324,16 +2326,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);
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to