Fix perror fileno namespace (bug 17633).
authorJoseph Myers <joseph@codesourcery.com>
Mon, 24 Nov 2014 15:59:15 +0000 (15:59 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 24 Nov 2014 15:59:15 +0000 (15:59 +0000)
perror, an ISO C function, uses fileno, which is not an ISO C
function.  This patch makes it use __fileno instead.  (The nearby call
to fdopen is not a problem because that's #defined to _IO_new_fdopen.)

Tested for x86_64 (testsuite, and that installed stripped shared
libraries are unchanged by this patch).

[BZ #17633]
* stdio-common/perror.c (perror): Call __fileno instead of fileno.
* conform/Makefile (test-xfail-ISO/stdio.h/linknamespace): Remove
variable.
(test-xfail-ISO99/stdio.h/linknamespace): Likewise.
(test-xfail-ISO11/stdio.h/linknamespace): Likewise.

ChangeLog
NEWS
conform/Makefile
stdio-common/perror.c

index 4e557a7..ec31874 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-11-24  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #17633]
+       * stdio-common/perror.c (perror): Call __fileno instead of fileno.
+       * conform/Makefile (test-xfail-ISO/stdio.h/linknamespace): Remove
+       variable.
+       (test-xfail-ISO99/stdio.h/linknamespace): Likewise.
+       (test-xfail-ISO11/stdio.h/linknamespace): Likewise.
+
 2014-11-24  Wilco Dijkstra  <wdijkstr@arm.com>
 
        * string/strncpy.c (strncpy): Improve performance by using memset.
diff --git a/NEWS b/NEWS
index ad170c4..995c66e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -12,7 +12,7 @@ Version 2.21
   6652, 12926, 14132, 14138, 14171, 14498, 15215, 15884, 16469, 17266,
   17344, 17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506,
   17508, 17522, 17555, 17570, 17571, 17572, 17573, 17574, 17582, 17583,
-  17584, 17585, 17589, 17594, 17616, 17625.
+  17584, 17585, 17589, 17594, 17616, 17625, 17633.
 
 * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
   under certain input conditions resulting in the execution of a shell for
index cf54722..4a498e4 100644 (file)
@@ -325,12 +325,9 @@ test-xfail-XOPEN2K/ndbm.h/linknamespace = yes
 test-xfail-XOPEN2K8/ndbm.h/linknamespace = yes
 
 # Unsorted expected failures.
-test-xfail-ISO/stdio.h/linknamespace = yes
 test-xfail-ISO/time.h/linknamespace = yes
 test-xfail-ISO99/ctype.h/linknamespace = yes
-test-xfail-ISO99/stdio.h/linknamespace = yes
 test-xfail-ISO11/ctype.h/linknamespace = yes
-test-xfail-ISO11/stdio.h/linknamespace = yes
 test-xfail-XPG3/ctype.h/linknamespace = yes
 test-xfail-XPG3/fnmatch.h/linknamespace = yes
 test-xfail-XPG3/glob.h/linknamespace = yes
index 4b47015..7de83e4 100644 (file)
@@ -56,7 +56,7 @@ perror (const char *s)
      oriented yet?  In this case we'll create a new stream which is
      using the same underlying file descriptor.  */
   if (__builtin_expect (_IO_fwide (stderr, 0) != 0, 1)
-      || (fd = fileno (stderr)) == -1
+      || (fd = __fileno (stderr)) == -1
       || (fd = __dup (fd)) == -1
       || (fp = fdopen (fd, "w+")) == NULL)
     {