nss_wins: Fix the hostent setup
authorTom Mortensen <tomm@lime-technology.com>
Sat, 16 Apr 2016 08:57:12 +0000 (10:57 +0200)
committerVolker Lendecke <vl@samba.org>
Fri, 22 Apr 2016 05:20:17 +0000 (07:20 +0200)
This can never have been tested....

Signed-off-by: Tom Mortensen <tomm@lime-technology.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
nsswitch/wins.c

index 22524e4646137634b1f2646ec13acef887ccba2f..fc65c03063e712924868d98a0be94b80c8e0ad35 100644 (file)
@@ -280,7 +280,7 @@ _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
        }
 
        if ((he->h_addr_list = (char **)get_static(
-                    &buffer, &buflen, i * sizeof(char *))) == NULL) {
+                    &buffer, &buflen, 2 * sizeof(char *))) == NULL) {
                nss_status = NSS_STATUS_TRYAGAIN;
                goto out;
        }
@@ -291,9 +291,9 @@ _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
                goto out;
        }
 
-       memcpy(he->h_addr_list[i], &in, INADDRSZ);
+       memcpy(he->h_addr_list[0], &in, INADDRSZ);
 
-       he->h_addr_list[0] = NULL;
+       he->h_addr_list[1] = NULL;
 
        /* Set h_addr_type and h_length */