glibc/io
Joseph Myers 5c112f1b62 Avoid insecure usage of tmpnam in tests.
Various glibc testcases use tmpnam in ways subject to race conditions
(generate a temporary file name, then later open that file without
O_EXCL).

This patch fixes those tests to use mkstemp - generally a minimal
local fix to use mkstemp instead of tmpnam, rather than a larger fix
to use other testsuite infrastructure for temporary files.  The
unchanged use of tmpnam in posix/wordexp-test.c would fail safe in the
event of a race (it's generating a name for use with mkdir rather than
for a file to be opened for writing).

Tested for x86_64.

	* grp/tst_fgetgrent.c: Include <unistd.h>.
	(main): Use mkstemp instead of tmpnam.
	* io/test-utime.c (main): Likewise.
	* posix/annexc.c (macrofile): Change to modifiable array.
	(get_null_defines): Use mkstemp instead of tmpnam.  Do not remove
	macrofile here.
	* posix/bug-getopt1.c: Include <stdlib.h>.
	(do_test): Use mkstemp instead of tmpnam.
	* posix/bug-getopt2.c: Include <stdlib.h>.
	(do_test): Use mkstemp instead of tmpnam.
	* posix/bug-getopt3.c: Include <stdlib.h>.
	(do_test): Use mkstemp instead of tmpnam.
	* posix/bug-getopt4.c: Include <stdlib.h>.
	(do_test): Use mkstemp instead of tmpnam.
	* posix/bug-getopt5.c: Include <stdlib.h>.
	(do_test): Use mkstemp instead of tmpnam.
	* stdio-common/bug7.c: Include <stdlib.h> and <unistd.h>.
	(main): Use mkstemp instead of tmpnam.
	* stdio-common/tst-fdopen.c: Include <stdlib.h>.
	(main): Use mkstemp instead of tmpnam.
	* stdio-common/tst-ungetc.c: Include <stdlib.h>.
	(main): use mkstemp instead of tmpnam.
	* stdlib/isomac.c (macrofile): Change to modifiable array.
	(get_null_defines): Use mkstemp instead of tmpnam.  Do not remove
	macrofile here.
2018-07-18 21:04:12 +00:00
..
bits Add the statx function 2018-07-10 16:14:45 +02:00
sys Add the statx function 2018-07-10 16:14:45 +02:00
access.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-ftw1.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-ftw2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-ftw3.c
bug-ftw4.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-ftw5.c
chdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
chmod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
chown.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
close.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
copy_file_range-compat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
copy_file_range.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
creat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
creat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dup2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dup3.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dup.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
euidaccess.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
faccessat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fchdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fchmod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fchmodat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fchown.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fchownat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fcntl64.c Fix Linux fcntl OFD locks for non-LFS architectures (BZ#20251) 2018-06-26 13:22:53 -03:00
fcntl.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fcntl.h Add the statx function 2018-07-10 16:14:45 +02:00
flock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstatat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstatat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstatfs64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstatfs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstatvfs64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fstatvfs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fts64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fts.c Revert __dirfd PLT avoidance for now 2018-04-02 21:45:38 +02:00
fts.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftw64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftw.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftw.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftwtest-sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftwtest.c
futimens.c Add missing start-of-file descriptive comment. 2018-03-06 09:21:04 +01:00
fxstat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fxstat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fxstatat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fxstatat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getcwd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getdirname.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
isatty.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lchmod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lchown.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
link.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
linkat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lockf64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lockf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lseek64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lstat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lstat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lxstat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lxstat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile Install <bits/statx.h> header 2018-07-11 08:59:51 +02:00
mkdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mkdirat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mkfifo.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mkfifoat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mknod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mknodat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
open64_2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
open64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
open_2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
open.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
openat64_2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
openat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
openat_2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
openat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pipe2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pipe.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
poll.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
poll.h
posix_fadvise64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
posix_fadvise.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
posix_fallocate64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
posix_fallocate.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ppoll.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pwd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
read.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
readlink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
readlinkat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rmdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sendfile64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sendfile.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
statfs64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
statfs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
statvfs64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
statvfs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
statx_generic.c Add the statx function 2018-07-10 16:14:45 +02:00
statx.c Add the statx function 2018-07-10 16:14:45 +02:00
symlink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
symlinkat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-lfs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-stat2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-stat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-utime.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-copy_file_range-compat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-copy_file_range.c hurd: Fix building io/tst-copy_file_range.c 2018-01-28 17:56:49 +01:00
tst-faccessat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-fchmodat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-fchownat.c Revert "hurd: Fix building io/tst-fchownat.c" 2018-01-28 19:13:20 +01:00
tst-fcntl.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fstatat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-fts-lfs.c
tst-fts.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-futimesat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-getcwd-abspath.c linux: make getcwd(3) fail if it cannot obtain an absolute path [BZ #22679] 2018-01-12 14:49:49 +00:00
tst-getcwd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-linkat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-mkdirat.c Assume that _DIRENT_HAVE_D_TYPE is always defined. 2017-10-30 15:48:33 +01:00
tst-mkfifoat.c Assume that _DIRENT_HAVE_D_TYPE is always defined. 2017-10-30 15:48:33 +01:00
tst-mknodat.c Assume that _DIRENT_HAVE_D_TYPE is always defined. 2017-10-30 15:48:33 +01:00
tst-open-tmpfile.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-openat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-posix_fallocate64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-posix_fallocate-common.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-posix_fallocate.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-readlinkat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-renameat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-statvfs.c
tst-statx.c Add the statx function 2018-07-10 16:14:45 +02:00
tst-symlinkat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-ttyname_r.c
tst-unlinkat.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
ttyname_r.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ttyname.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
umask.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
unlink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
unlinkat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utime.c Add missing start-of-file descriptive comment. 2018-03-06 09:21:04 +01:00
utime.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utimensat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions Add the statx function 2018-07-10 16:14:45 +02:00
write.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmknod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmknodat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xstat64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xstat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00