glibc/stdio-common
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
_i18n_number.h
_itoa.c
_itowa.c
_itowa.h
asprintf.c
bug1.c
bug1.input
bug2.c
bug3.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug4.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug5.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug6.c
bug6.input
bug7.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
bug8.c
bug9.c
bug10.c
bug11.c
bug12.c
bug13.c
bug14.c
bug16.c
bug17.c
bug18.c
bug18a.c
bug19.c
bug19a.c
bug20.c
bug21.c
bug22.c
bug23-2.c
bug23-3.c
bug23-4.c
bug23.c
bug24.c
bug25.c
bug26.c
bug-vfprintf-nargs.c
ctermid.c
cuserid.c
Depend
dprintf.c
errlist.c
errnobug.c
flockfile.c
fprintf.c
fscanf.c
ftrylockfile.c
funlockfile.c
fxprintf.c
gentempfd.c
getline.c
getw.c
isoc99_fscanf.c
isoc99_scanf.c
isoc99_sscanf.c
isoc99_vfscanf.c
isoc99_vscanf.c
isoc99_vsscanf.c
itoa-digits.c
itoa-udigits.c
itowa-digits.c
Makefile Add renameat2 function [BZ #17662] 2018-07-05 19:00:10 +02:00
perror.c
printf_fp.c
printf_fphex.c
printf_size.c
printf-parse.h
printf-parsemb.c
printf-parsewc.c
printf-prs.c
printf.c
printf.h
psiginfo-data.h
psiginfo-define.h
psiginfo.c
psignal.c
putw.c
reg-modifier.c
reg-printf.c
reg-type.c
remove.c
rename.c
renameat2.c Add renameat2 function [BZ #17662] 2018-07-05 19:00:10 +02:00
renameat.c Add renameat2 function [BZ #17662] 2018-07-05 19:00:10 +02:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c
scanf5.c
scanf7.c
scanf8.c
scanf9.c
scanf10.c
scanf11.c
scanf12.c
scanf12.input
scanf13.c
scanf14.c
scanf15.c
scanf16.c
scanf17.c
scanf.c
siglist.c
snprintf.c
sprintf.c
sscanf.c
stdio_ext.h
stdio_lim.h.in
tempnam.c
tempname.c
temptest.c
test_rdwr.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
test-fseek.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
test-fwrite.c
test-popen.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
test-vfprintf.c
tfformat.c
tiformat.c
tllformat.c
tmpfile64.c
tmpfile.c
tmpnam_r.c
tmpnam.c
tst-cookie.c
tst-fdopen.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-ferror.c
tst-ferror.input
tst-fgets.c
tst-fileno.c
tst-fmemopen2.c
tst-fmemopen3.c
tst-fmemopen4.c
tst-fmemopen.c
tst-fphex-wide.c
tst-fphex.c
tst-fseek.c
tst-fwrite.c
tst-gets.c
tst-gets.input
tst-grouping.c
tst-long-dbl-fphex.c
tst-obprintf.c
tst-perror.c
tst-popen2.c
tst-popen.c
tst-printf-bz18872.sh
tst-printf-round.c
tst-printf.c stdio-common/tst-printf.c: Remove part under a non-free license [BZ #23363] 2018-07-03 18:29:16 +02:00
tst-printf.sh stdio-common/tst-printf.c: Remove part under a non-free license [BZ #23363] 2018-07-03 18:29:16 +02:00
tst-printfsz-islongdouble.c ldbl-128ibm-compat: Add printf_size 2018-07-02 10:51:01 -03:00
tst-printfsz-islongdouble.sh ldbl-128ibm-compat: Add printf_size 2018-07-02 10:51:01 -03:00
tst-printfsz.c
tst-put-error.c
tst-renameat2.c Add renameat2 function [BZ #17662] 2018-07-05 19:00:10 +02:00
tst-rndseek.c
tst-scanf-round.c Fix scanf rounding of negative floating-point numbers (bug 23280). 2018-06-19 11:52:18 +00:00
tst-setvbuf1.c
tst-setvbuf1.expect
tst-sprintf2.c
tst-sprintf3.c
tst-sprintf.c
tst-sscanf.c
tst-swprintf.c
tst-swscanf.c
tst-tmpnam.c
tst-unbputc.c
tst-unbputc.sh
tst-ungetc.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-unlockedio.c
tst-vfprintf-mbs-prec.c
tst-vfprintf-user-type.c
tst-vfprintf-width-prec.c
tst-wc-printf.c
tstdiomisc.c
tstgetln.c
tstgetln.input
tstscanf.c
tstscanf.input
Versions Add renameat2 function [BZ #17662] 2018-07-05 19:00:10 +02:00
vfprintf.c
vfscanf.c Fix scanf rounding of negative floating-point numbers (bug 23280). 2018-06-19 11:52:18 +00:00
vfwprintf.c
vfwscanf.c
vprintf.c
xbug.c