]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
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 4e557a7f2240250036a052407f945ea6d20461a5..ec318746e9f61be782ee4a61dfa2f228fb292383 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 ad170c49c55552fdbd0cadf9bc14ab1b62e5f0bb..995c66eebeb66cf77f3f4c263df280ef53eb43e1 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 cf54722b8e0f805541fd3453219be94f14a3ec1c..4a498e46f15f40dc6a194df6f595b5e7449f2f5f 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 4b470156a6537b21b8d4709220d1a182735ce19a..7de83e4d323510cfe41a97f076e0a9863a9d6c81 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)
     {