diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-11-24 15:59:15 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-11-24 15:59:15 +0000 |
commit | 9744496f8a479c23174cc330e4d422f130804c04 (patch) | |
tree | a2cdc6907445d1708b6f5c1ec71be968ed76d048 | |
parent | 6423d4754c3769129510b9b44b6b8cfe8192ec67 (diff) | |
download | glibc-9744496f8a479c23174cc330e4d422f130804c04.tar.gz glibc-9744496f8a479c23174cc330e4d422f130804c04.tar.xz glibc-9744496f8a479c23174cc330e4d422f130804c04.zip |
Fix perror fileno namespace (bug 17633).
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.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | conform/Makefile | 3 | ||||
-rw-r--r-- | stdio-common/perror.c | 2 |
4 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index 4e557a7f22..ec318746e9 100644 --- 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 ad170c49c5..995c66eebe 100644 --- 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 diff --git a/conform/Makefile b/conform/Makefile index cf54722b8e..4a498e46f1 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -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 diff --git a/stdio-common/perror.c b/stdio-common/perror.c index 4b470156a6..7de83e4d32 100644 --- a/stdio-common/perror.c +++ b/stdio-common/perror.c @@ -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) { |