summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--nis/nss_nis/nis-hosts.c3
-rw-r--r--resolv/res_init.c3
3 files changed, 5 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 5c752d11bf..18934f1aa7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2008-12-07  Ulrich Drepper  <drepper@redhat.com>
 
+	* resolv/res_init.c (__res_vinit): Always assign to statp->nscount
+	after reading name server list.
+
 	* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname4_r): Fix memory
 	handling for host name aliases.
 
diff --git a/nis/nss_nis/nis-hosts.c b/nis/nss_nis/nis-hosts.c
index 8accf53edf..e1db5f531f 100644
--- a/nis/nss_nis/nis-hosts.c
+++ b/nis/nss_nis/nis-hosts.c
@@ -545,8 +545,7 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
   size_t h_name_len = strlen (host.h_name) + 1;
   if (h_name_len >= buflen)
     goto erange;
-  /* Potentially the string and the destination buffer overlap.  */
-  (*pat)->name = memmove (buffer, host.h_name, h_name_len);
+  (*pat)->name = memcpy (buffer, host.h_name, h_name_len);
 
   free (result);
 
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 0cdd55e71b..670ad23c22 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -420,8 +420,7 @@ __res_vinit(res_state statp, int preinit) {
 		    continue;
 		}
 	    }
-	    if (nserv > 1)
-		statp->nscount = nserv;
+	    statp->nscount = nserv;
 #ifdef _LIBC
 	    if (nservall - nserv > 0) {
 		statp->_u._ext.nscount6 = nservall - nserv;