about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--NEWS2
-rw-r--r--conform/Makefile10
-rw-r--r--misc/mntent_r.c4
-rw-r--r--resolv/res_hconf.c4
-rw-r--r--resolv/res_init.c2
6 files changed, 27 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 8e61f353ba..f532ed6b1a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
 2014-12-02  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #17664]
+	* misc/mntent_r.c (__getmntent_r): Use __fgets_unlocked instead of
+	fgets_unlocked.
+	* resolv/res_hconf.c [IS_IN (libc)] (fgets_unlocked): Define to
+	__fgets_unlocked.
+	* resolv/res_init.c (__res_vinit): Use __fgets_unlocked instead of
+	fgets_unlocked.
+	* conform/Makefile (test-xfail-XPG4/sys/statvfs.h/linknamespace):
+	Remove variable.
+	(test-xfail-POSIX/sys/mman.h/linknamespace): Likewise.
+	(test-xfail-UNIX98/sys/mman.h/linknamespace): Likewise.
+	(test-xfail-UNIX98/sys/statvfs.h/linknamespace): Likewise.
+	(test-xfail-XOPEN2K/sys/mman.h/linknamespace): Likewise.
+	(test-xfail-XOPEN2K/sys/statvfs.h/linknamespace): Likewise.
+	(test-xfail-POSIX2008/sys/mman.h/linknamespace): Likewise.
+	(test-xfail-POSIX2008/sys/statvfs.h/linknamespace): Likewise.
+	(test-xfail-XOPEN2K8/sys/mman.h/linknamespace): Likewise.
+	(test-xfail-XOPEN2K8/sys/statvfs.h/linknamespace): Likewise.
+
 	* elf/tst-unique4lib.cc (b): Mark with __attribute__ ((used)).
 
 2014-12-02  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
diff --git a/NEWS b/NEWS
index 5450e8e0d1..fe5453cba2 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ Version 2.21
   16619, 16740, 16857, 17192, 17266, 17344, 17363, 17370, 17371, 17411,
   17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571,
   17572, 17573, 17574, 17581, 17582, 17583, 17584, 17585, 17589, 17594,
-  17608, 17616, 17625, 17633.
+  17608, 17616, 17625, 17633, 17664.
 
 * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
   under certain input conditions resulting in the execution of a shell for
diff --git a/conform/Makefile b/conform/Makefile
index 641f5465de..eed2843043 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -369,7 +369,6 @@ test-xfail-XPG4/regex.h/linknamespace = yes
 test-xfail-XPG4/search.h/linknamespace = yes
 test-xfail-XPG4/stdio.h/linknamespace = yes
 test-xfail-XPG4/stdlib.h/linknamespace = yes
-test-xfail-XPG4/sys/statvfs.h/linknamespace = yes
 test-xfail-XPG4/syslog.h/linknamespace = yes
 test-xfail-XPG4/time.h/linknamespace = yes
 test-xfail-XPG4/unistd.h/linknamespace = yes
@@ -382,7 +381,6 @@ test-xfail-POSIX/pthread.h/linknamespace = yes
 test-xfail-POSIX/regex.h/linknamespace = yes
 test-xfail-POSIX/sched.h/linknamespace = yes
 test-xfail-POSIX/semaphore.h/linknamespace = yes
-test-xfail-POSIX/sys/mman.h/linknamespace = yes
 test-xfail-POSIX/time.h/linknamespace = yes
 test-xfail-POSIX/unistd.h/linknamespace = yes
 test-xfail-POSIX/wordexp.h/linknamespace = yes
@@ -403,8 +401,6 @@ test-xfail-UNIX98/search.h/linknamespace = yes
 test-xfail-UNIX98/semaphore.h/linknamespace = yes
 test-xfail-UNIX98/stdio.h/linknamespace = yes
 test-xfail-UNIX98/stdlib.h/linknamespace = yes
-test-xfail-UNIX98/sys/mman.h/linknamespace = yes
-test-xfail-UNIX98/sys/statvfs.h/linknamespace = yes
 test-xfail-UNIX98/syslog.h/linknamespace = yes
 test-xfail-UNIX98/time.h/linknamespace = yes
 test-xfail-UNIX98/unistd.h/linknamespace = yes
@@ -428,8 +424,6 @@ test-xfail-XOPEN2K/semaphore.h/linknamespace = yes
 test-xfail-XOPEN2K/signal.h/linknamespace = yes
 test-xfail-XOPEN2K/spawn.h/linknamespace = yes
 test-xfail-XOPEN2K/stdlib.h/linknamespace = yes
-test-xfail-XOPEN2K/sys/mman.h/linknamespace = yes
-test-xfail-XOPEN2K/sys/statvfs.h/linknamespace = yes
 test-xfail-XOPEN2K/sys/wait.h/linknamespace = yes
 test-xfail-XOPEN2K/syslog.h/linknamespace = yes
 test-xfail-XOPEN2K/time.h/linknamespace = yes
@@ -448,8 +442,6 @@ test-xfail-POSIX2008/pthread.h/linknamespace = yes
 test-xfail-POSIX2008/regex.h/linknamespace = yes
 test-xfail-POSIX2008/semaphore.h/linknamespace = yes
 test-xfail-POSIX2008/spawn.h/linknamespace = yes
-test-xfail-POSIX2008/sys/mman.h/linknamespace = yes
-test-xfail-POSIX2008/sys/statvfs.h/linknamespace = yes
 test-xfail-POSIX2008/time.h/linknamespace = yes
 test-xfail-POSIX2008/unistd.h/linknamespace = yes
 test-xfail-XOPEN2K8/aio.h/linknamespace = yes
@@ -467,8 +459,6 @@ test-xfail-XOPEN2K8/regex.h/linknamespace = yes
 test-xfail-XOPEN2K8/search.h/linknamespace = yes
 test-xfail-XOPEN2K8/semaphore.h/linknamespace = yes
 test-xfail-XOPEN2K8/spawn.h/linknamespace = yes
-test-xfail-XOPEN2K8/sys/mman.h/linknamespace = yes
-test-xfail-XOPEN2K8/sys/statvfs.h/linknamespace = yes
 test-xfail-XOPEN2K8/syslog.h/linknamespace = yes
 test-xfail-XOPEN2K8/time.h/linknamespace = yes
 test-xfail-XOPEN2K8/unistd.h/linknamespace = yes
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
index e68ec8e845..0d5c2e3534 100644
--- a/misc/mntent_r.c
+++ b/misc/mntent_r.c
@@ -127,7 +127,7 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
     {
       char *end_ptr;
 
-      if (fgets_unlocked (buffer, bufsiz, stream) == NULL)
+      if (__fgets_unlocked (buffer, bufsiz, stream) == NULL)
 	{
 	  funlockfile (stream);
 	  return NULL;
@@ -140,7 +140,7 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
 	{
 	  /* Not the whole line was read.  Do it now but forget it.  */
 	  char tmp[1024];
-	  while (fgets_unlocked (tmp, sizeof tmp, stream) != NULL)
+	  while (__fgets_unlocked (tmp, sizeof tmp, stream) != NULL)
 	    if (strchr (tmp, '\n') != NULL)
 	      break;
 	}
diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c
index cde0229330..6693b1216e 100644
--- a/resolv/res_hconf.c
+++ b/resolv/res_hconf.c
@@ -46,6 +46,10 @@
 #include "res_hconf.h"
 #include <wchar.h>
 
+#if IS_IN (libc)
+# define fgets_unlocked __fgets_unlocked
+#endif
+
 #define _PATH_HOSTCONF	"/etc/host.conf"
 
 /* Environment vars that all user to override default behavior:  */
diff --git a/resolv/res_init.c b/resolv/res_init.c
index ea133f8d82..90760ec8e6 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -238,7 +238,7 @@ __res_vinit(res_state statp, int preinit) {
 	    /* No threads use this stream.  */
 	    __fsetlocking (fp, FSETLOCKING_BYCALLER);
 	    /* read the config file */
-	    while (fgets_unlocked(buf, sizeof(buf), fp) != NULL) {
+	    while (__fgets_unlocked(buf, sizeof(buf), fp) != NULL) {
 		/* skip comments */
 		if (*buf == ';' || *buf == '#')
 			continue;