]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
Bug #690:Proper fix for length issue
authorDanny Mayer <mayer@ntp.org>
Thu, 24 Aug 2006 13:10:50 +0000 (09:10 -0400)
committerDanny Mayer <mayer@ntp.org>
Thu, 24 Aug 2006 13:10:50 +0000 (09:10 -0400)
bk: 44eda55a3OX4Ohe_oy7_DGWSR2IsWA

libntp/ntp_rfc2553.c
ports/winnt/libntp/dnslookup.c

index 63562d60868b2e3f1077352f111b975f4990be66..2a07be98e295252a3fd8676e33b97fa8589e2e28 100644 (file)
@@ -115,6 +115,7 @@ DNSlookup_name(
 /*
  * Encapsulate gethostbyname to control the error code
  */
+#define DNSlookup_name LC_DNSlookup_name
 int
 DNSlookup_name(
        const char *name,
@@ -413,7 +414,7 @@ do_nodename(
        ai->ai_family = hp->h_addrtype;
        ai->ai_addrlen = sizeof(struct sockaddr);
        sockin = (struct sockaddr_in *)ai->ai_addr;
-       memcpy(&sockin->sin_addr, hp->h_addr, sizeof(struct in_addr));
+       memcpy(&sockin->sin_addr, hp->h_addr, hp->h_length);
        ai->ai_addr->sa_family = hp->h_addrtype;
 #ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR
        ai->ai_addr->sa_len = sizeof(struct sockaddr);
index b304b775e4fb01ce47d6b4993a2138972ddb9838..20fb52cdbd26daf8c4523ccb169adb6944297684 100644 (file)
@@ -163,7 +163,7 @@ DNSlookup_name(
                                addr = (struct hostent *) malloc(sizeof(struct hostent));
                                memset(addr, 0, sizeof(struct hostent));
                                addr->h_addrtype = (short) results->lpcsaBuffer->iSocketType;
-                               addr->h_length = (short) results->lpcsaBuffer->RemoteAddr.iSockaddrLength;
+                               addr->h_length = sizeof(struct in_addr); /* Only passing back the address */
                        }
                        for (i = 0; i < results->dwNumberOfCsAddrs; i++)
                        {