]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
Call to getaddrinfo in getnetnum was wrong
authorDanny Mayer <mayer@ntp.org>
Thu, 24 Jul 2003 23:59:58 +0000 (19:59 -0400)
committerDanny Mayer <mayer@ntp.org>
Thu, 24 Jul 2003 23:59:58 +0000 (19:59 -0400)
bk: 3f2072fex5RxyQYRiowazTi3WVPOIQ

ntpd/ntp_config.c

index 9a7a686d79c48368cd632eac60df0381cd2605c5..d05f91f3c71010d38f4e7d0d9647c867d3552e8f 100644 (file)
@@ -2070,14 +2070,13 @@ getnetnum(
 
        /* Get host address. Looking for UDP datagram connection */
        memset(&hints, 0, sizeof (hints));
-       hints.ai_socktype = SOCK_DGRAM;
-       hints.ai_family = addr->ss_family;
+       hints.ai_family = AF_UNSPEC;
 
 #ifdef DEBUG
                if (debug > 3)
                        printf("getaddrinfo %s\n", num);
 #endif
-       if (getaddrinfo(num, "ntp", &hints, &ptr)!=0) {
+       if (getaddrinfo(num, NULL, &hints, &ptr)!=0) {
                if (complain)
                        msyslog(LOG_ERR,
                                "getaddrinfo: \"%s\" invalid host address, line ignored",
@@ -2090,15 +2089,18 @@ getnetnum(
                                ? ", line ignored"
                                : "");
 #endif
+                freeaddrinfo(ptr);
                return 0;
        }
 
        memcpy(addr, ptr->ai_addr, ptr->ai_addrlen);
+       addr->ss_family = ptr->ai_family;
 #ifdef DEBUG
        if (debug > 1)
                printf("getnetnum given %s, got %s \n",
                   num, stoa(addr));
 #endif
+        freeaddrinfo(ptr);
        return 1;
 }