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.
This commit is contained in:
Joseph Myers 2014-11-24 15:59:15 +00:00
parent 6423d4754c
commit 9744496f8a
4 changed files with 11 additions and 5 deletions

View File

@ -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.

2
NEWS
View File

@ -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

View 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

View 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)
{