glibc/stdio-common/bug4.c

49 lines
878 B
C
Raw Normal View History

1995-02-18 01:27:10 +00:00
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int stdio_block_read = 1, stdio_block_write = 1;
int
1997-05-07 16:31 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/dl-machine.h (elf_machine_rel): Check for mismatch in size for copy relocation. * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sparc/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/powerpc/dl-machine.h (elf_machine_rela): Likewise. Patch by Roland McGrath <roland@gnu.ai.mit.edu>. 1997-05-06 13:25 H.J. Lu <hjl@gnu.ai.mit.edu> * stdio-common/bug4.c (main): Use /tmp/bug4.test for concurrency with other tests. * stdio-common/bug3.c (main): Use /tmp/bug3.test for concurrency with other tests. * sunrpc/svc_run.c: svc_exit): New, defined. (svc_run): Test for svc_stop variable. * sunrpc/rpc/svc.h (svc_exit): New, declared. 1997-05-03 08:47 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (test_not_exception): Don't mix the internal exception flags with the host defined FE_* values. All (indirect) callers of this and test_exceptions changed to pass the internal flag values. (csin_test): Allow invalid exception for +-Inf + i NaN. Fix typos in test names. (csinh_test): Allow invalid exception for NaN +- i Inf. 1997-05-03 09:21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/__math.h (__frexp): Don't raise invalid exception on infinite value. (__m81_test, __M81_COND_NAN, __M81_COND_INF, __M81_COND_NEG, __M81_COND_ZERO): New definitions. * sysdeps/m68k/e_pow.c: Raise invalid exception for NaN result. Use __m81_test. * sysdeps/m68k/s_ccosh.c: Rewritten. * sysdeps/m68k/s_csinh.c: Rewritten. * sysdeps/m68k/s_ccoshf.c: Don't define huge_val. * sysdeps/m68k/s_ccoshl.c: Likewise. * sysdeps/m68k/s_csinhf.c: Likewise. * sysdeps/m68k/s_csinhl.c: Likewise. * sysdeps/m68k/s_ccos.c: New file. * sysdeps/m68k/s_ccosf.c: New file. * sysdeps/m68k/s_ccosl.c: New file. * sysdeps/m68k/s_csin.c: New file. * sysdeps/m68k/s_csinf.c: New file. * sysdeps/m68k/s_csinl.c: New file. 1997-05-02 19:48 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules, manual/Makefile: Remove -$(subdir) suffix from subdir stamp files to avoid problems with long file names. 1997-05-03 22:24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/libm-ieee754/e_acoshl.c: Fix test for x < 1. * sysdeps/libm-ieee754/e_atan2l.c: Ignore integer bit for Inf and NaN. Fix test for sign of infinite y. * sysdeps/libm-ieee754/e_atanhl.c: Fix sign of result. * sysdeps/libm-ieee754/e_sinhl.c: Fix test for sign of argument. 1997-05-03 01:15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * csu/Makefile (extra-objs) [$(elf)=yes]: Add abi-note.o to get dependencies. * csu/abi-note.S: Replace undefined macro ALIGNARG. * sysdeps/unix/sysv/linux/abi-tag.h: Don't use assembler comment character. 1997-05-03 22:27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use notation for local label. 1997-05-05 22:00 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/Makefile (libnsl-routines): Add a lot of new file names. * nis/nis_names.c (nis_add): Moved from here ... * nis/nis_add.c: ... to here and fix parameter flags. * nis/nis_names.c (nis_lookup): Moved from here ... * nis/nis_lookup.c: ... to here. * nis/nis_names.c (nis_modify): Moved from here ... * nis/nis_modify.c: ... to here and fix parameter flags. * nis/nis_names.c (nis_remove): Moved from here ... * nis/nis_remove.c: ... to here and fix parameter flags. * nis/nis_names.c: Removed. * nis/nis_subr.c (nis_domain_of): Moved from here ... * nis/nis_domain_of.c: .. to here. * nis/nis_subr.c (nis_domain_of_r): Moved from here ... * nis/nis_domain_of_r.c: .. to here and fix pointer errors. * nis/nis_addmember.c: New. * nis/nis_checkpoint.c: New. * nis/nis_creategroup.c: New. * nis/nis_defaults.c: New. * nis/nis_destroygroup.c: New. * nis/nis_getservlist.c: New. * nis/nis_ismember.c: New. * nis/nis_ping.c: New. * nis/nis_print_group_entry.c: New. * nis/nis_removemember.c: New. * nis/nis_mkdir.c: New. * nis/nis_rmdir.c: New. * nis/nis_verifygroup.c: New. * nis/rpcsvc/nislib.h: Fix internal function declarations. * nis/nis_server (nis_servstate): New. * nis/nis_server (nis_stats): New. * nis/nis_subr.c (nis_leaf_of_r): Fix buffer problems. * nis/nis_call.c: Remove debug output. * nis/nis_intern.c (__nis_finddirectory): Remove.
1997-05-07 14:34:37 +00:00
main (int argc, char *argv[])
1995-02-18 01:27:10 +00:00
{
FILE *f;
int i;
char buffer[31];
Fix hardcoded /tmp paths in testing (bug 13888). As noted in bug 13888, and as I noted previously in <https://sourceware.org/ml/libc-alpha/2000-10/msg00111.html>, various tests used hardcoded paths in /tmp, so posing issues for simultaneous test runs from different build directories. This patch fixes such uses of hardcoded file names to put them in the build directory instead (in the case of stdio-common/bug5 the file names are changed as well, to avoid a conflict with the name bug5.out also used for the automatic test output redirection). It also fixes test-installation.pl likewise (that was using filenames with $$ in them rather than strictly hardcoded names, but that's still not good practice for temporary file naming). Note that my list of files changed is not identical to that in bug 13888. I added tst-spawn3.c and test-installation.pl, and removed some tests that seem to me (now) to create temporary files securely (simply using /tmp is not itself a problem if the temporary files are handled properly with mkstemp; I haven't checked whether those tests used to do things insecurely). conformtest is not changed because the makefiles always pass a --tmpdir option so the /tmp default is irrelevant, and for the same reason there is no actual problem with nptl/tst-umask1.c because again the makefiles always override the default. nptl/sockperf.c is ignored because there is no code to run it; probably that file should actually be removed. Some tests use the mktemp function, but I think they all use it in a way that *is* secure (for generating names for directories / sockets / fifos / symlinks, where the operation using the name will not follow symlinks and so there is no potential for a symlink attack on the account running the testsuite). Some tests use the tmpnam function to generate temporary file names. This is in principle insecure, but not addressed by this patch (I consider it a separate issue from the fully hardcoded paths). Tested for x86_64. [BZ #13888] * posix/Makefile (CFLAGS-tst-spawn3.c): New variable. * posix/tst-spawn3.c (do_test): Put tst-spwan3.pid in OBJPFX, not /tmp. * scripts/test-installation.pl: Put temporary files in build directory, not /tmp. * stdio-common/Makefile (CFLAGS-bug3.c): New variable. (CFLAGS-bug4.c): Likewise. (CFLAGS-bug5.c): Likewise. (CFLAGS-test-fseek.c): Likewise. (CFLAGS-test-popen.c): Likewise. (CFLAGS-test_rdwr.c): Likewise. * stdio-common/bug3.c (main): Put temporary file in OBJPFX, not /tmp. * stdio-common/bug4.c (main): Likewise. * stdio-common/bug5.c (main): Likewise. * stdio-common/test-fseek.c (TESTFILE): Likewise. * stdio-common/test-popen.c (do_test): Likewise. * stdio-common/test_rdwr.c (main): Likewise.
2018-06-26 21:48:48 +00:00
const char filename[] = OBJPFX "bug4.test";
1995-02-18 01:27:10 +00:00
update from main archive 970121 1997-01-21 Paul Eggert <eggert@twinsun.com> * posix/getopt.c (_getopt_internal): Return -1, not EOF, when args are exhausted; this is required by POSIX.2. * catgets/gencat.c, db/makedb.c, locale/programs/locale.c, locale/programs/localedef.c, manual/examples/subopt.c, posix/getopt.c, posix/getopt1.c, stdio-common/bug4.c, sunrpc/rpcinfo.c (main): Check getopt return value against -1, not EOF. Tue Jan 21 23:10:40 1997 Ulrich Drepper <drepper@cygnus.com> * version.h (VERSION): Bump to 1.102. * sysdeps/unix/sysv/linux/alpha/Dist: Add kernel_sigaction.h. * elf/Makefile: Don't use CFLAGS-dl-load.c, but instead CPPFLAGS-dl-load.c so that dependencies can be determined correctly. * elf/dl-load.c: Fix comment. * time/Banner: New file. * time/Makefile (distribute): Add Banner. Update from ADO tzcode1997a and tzdata1997a. * time/antarctica: Update. * time/australia: Update. * time/zdump.c: Update. * time/zic.c: Update. * time/zone.tab: Update. Mon Jan 20 08:38:32 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * config.make.in (has-ldconfig): New variable. * configure, configure.in (has_ldconfig): New substitute. * sysdeps/unix/sysv/linux/configure.in (has_ldconfig): New, check if $srcdir/elf/ldconfig.c exists. * Makeconfig (rootsbindir): New, default as $(exec_prefix)/sbin. (rtld-version-installed-name): New, default as ld-$(version).so. * Makefile (install): Call `$(common-objpfx)elf/ldconfig -d' only if $(cross-compiling) is no and $(build-shared) is yes. * Makerules (make-shlib-link): New macro. ($(slibdir)/libfoo.so.$(libfoo.so-version)): Use $(make-shlib-link) for symlink. (install-rootsbin, install-rootsbin-nosubdir): New. (install-no-libc.a-nosubdir): Add install-rootsbin-nosubdir. * Rules (others): Add $(install-rootsbin). * config.make.in (rootsbindir): New. * configure, configure.in (libc_cv_rootsbindir): New substitute. * elf/Makefile (others, install-rootsbin): New, set to ldconfig. (+link): New for static linking. ($(slibdir)/$(rtld-version-installed-name)): New. ($(slibdir)/$(rtld-installed-name)): Depend on $(slibdir)/$(rtld-version-installed-name) and use $(make-shlib-link) for symlink. * sunrpc/xdr.c (xdr_string): Return FALSE if sp == NULL while XDR_ENCODE. * sysdeps/unix/sysv/linux/a.out.h: Use #include_next for glibc internals. * sysdeps/unix/sysv/linux/configure.in (libc_cv_rootsbindir): New, set to "/sbin" if "$prefix" == "/usr". Tue Jan 21 13:38:39 1997 Ulrich Drepper <drepper@cygnus.com> * Makefile (distribute): Add glibcbug.in. Reported by Philip Blundell <pjb27@cam.ac.uk>. * elf/Makefile ($(objpfx)trusted-dirs.h): Create elf/ subdir in build directory if necessary. Reported by marcus@shannon.sysc.pdx.edu (Marcus G. Daniels).
1997-01-22 05:26:05 +00:00
while ((i = getopt (argc, argv, "rw")) != -1)
1995-02-18 01:27:10 +00:00
switch (i)
{
case 'r':
stdio_block_read = 0;
break;
case 'w':
stdio_block_write = 0;
break;
}
1997-05-07 16:31 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/dl-machine.h (elf_machine_rel): Check for mismatch in size for copy relocation. * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sparc/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/powerpc/dl-machine.h (elf_machine_rela): Likewise. Patch by Roland McGrath <roland@gnu.ai.mit.edu>. 1997-05-06 13:25 H.J. Lu <hjl@gnu.ai.mit.edu> * stdio-common/bug4.c (main): Use /tmp/bug4.test for concurrency with other tests. * stdio-common/bug3.c (main): Use /tmp/bug3.test for concurrency with other tests. * sunrpc/svc_run.c: svc_exit): New, defined. (svc_run): Test for svc_stop variable. * sunrpc/rpc/svc.h (svc_exit): New, declared. 1997-05-03 08:47 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (test_not_exception): Don't mix the internal exception flags with the host defined FE_* values. All (indirect) callers of this and test_exceptions changed to pass the internal flag values. (csin_test): Allow invalid exception for +-Inf + i NaN. Fix typos in test names. (csinh_test): Allow invalid exception for NaN +- i Inf. 1997-05-03 09:21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/__math.h (__frexp): Don't raise invalid exception on infinite value. (__m81_test, __M81_COND_NAN, __M81_COND_INF, __M81_COND_NEG, __M81_COND_ZERO): New definitions. * sysdeps/m68k/e_pow.c: Raise invalid exception for NaN result. Use __m81_test. * sysdeps/m68k/s_ccosh.c: Rewritten. * sysdeps/m68k/s_csinh.c: Rewritten. * sysdeps/m68k/s_ccoshf.c: Don't define huge_val. * sysdeps/m68k/s_ccoshl.c: Likewise. * sysdeps/m68k/s_csinhf.c: Likewise. * sysdeps/m68k/s_csinhl.c: Likewise. * sysdeps/m68k/s_ccos.c: New file. * sysdeps/m68k/s_ccosf.c: New file. * sysdeps/m68k/s_ccosl.c: New file. * sysdeps/m68k/s_csin.c: New file. * sysdeps/m68k/s_csinf.c: New file. * sysdeps/m68k/s_csinl.c: New file. 1997-05-02 19:48 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules, manual/Makefile: Remove -$(subdir) suffix from subdir stamp files to avoid problems with long file names. 1997-05-03 22:24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/libm-ieee754/e_acoshl.c: Fix test for x < 1. * sysdeps/libm-ieee754/e_atan2l.c: Ignore integer bit for Inf and NaN. Fix test for sign of infinite y. * sysdeps/libm-ieee754/e_atanhl.c: Fix sign of result. * sysdeps/libm-ieee754/e_sinhl.c: Fix test for sign of argument. 1997-05-03 01:15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * csu/Makefile (extra-objs) [$(elf)=yes]: Add abi-note.o to get dependencies. * csu/abi-note.S: Replace undefined macro ALIGNARG. * sysdeps/unix/sysv/linux/abi-tag.h: Don't use assembler comment character. 1997-05-03 22:27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use notation for local label. 1997-05-05 22:00 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/Makefile (libnsl-routines): Add a lot of new file names. * nis/nis_names.c (nis_add): Moved from here ... * nis/nis_add.c: ... to here and fix parameter flags. * nis/nis_names.c (nis_lookup): Moved from here ... * nis/nis_lookup.c: ... to here. * nis/nis_names.c (nis_modify): Moved from here ... * nis/nis_modify.c: ... to here and fix parameter flags. * nis/nis_names.c (nis_remove): Moved from here ... * nis/nis_remove.c: ... to here and fix parameter flags. * nis/nis_names.c: Removed. * nis/nis_subr.c (nis_domain_of): Moved from here ... * nis/nis_domain_of.c: .. to here. * nis/nis_subr.c (nis_domain_of_r): Moved from here ... * nis/nis_domain_of_r.c: .. to here and fix pointer errors. * nis/nis_addmember.c: New. * nis/nis_checkpoint.c: New. * nis/nis_creategroup.c: New. * nis/nis_defaults.c: New. * nis/nis_destroygroup.c: New. * nis/nis_getservlist.c: New. * nis/nis_ismember.c: New. * nis/nis_ping.c: New. * nis/nis_print_group_entry.c: New. * nis/nis_removemember.c: New. * nis/nis_mkdir.c: New. * nis/nis_rmdir.c: New. * nis/nis_verifygroup.c: New. * nis/rpcsvc/nislib.h: Fix internal function declarations. * nis/nis_server (nis_servstate): New. * nis/nis_server (nis_stats): New. * nis/nis_subr.c (nis_leaf_of_r): Fix buffer problems. * nis/nis_call.c: Remove debug output. * nis/nis_intern.c (__nis_finddirectory): Remove.
1997-05-07 14:34:37 +00:00
f = fopen (filename, "w+");
for (i = 0; i < 9000; ++i)
1995-02-18 01:27:10 +00:00
putc('x', f);
1997-05-07 16:31 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/dl-machine.h (elf_machine_rel): Check for mismatch in size for copy relocation. * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sparc/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/powerpc/dl-machine.h (elf_machine_rela): Likewise. Patch by Roland McGrath <roland@gnu.ai.mit.edu>. 1997-05-06 13:25 H.J. Lu <hjl@gnu.ai.mit.edu> * stdio-common/bug4.c (main): Use /tmp/bug4.test for concurrency with other tests. * stdio-common/bug3.c (main): Use /tmp/bug3.test for concurrency with other tests. * sunrpc/svc_run.c: svc_exit): New, defined. (svc_run): Test for svc_stop variable. * sunrpc/rpc/svc.h (svc_exit): New, declared. 1997-05-03 08:47 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (test_not_exception): Don't mix the internal exception flags with the host defined FE_* values. All (indirect) callers of this and test_exceptions changed to pass the internal flag values. (csin_test): Allow invalid exception for +-Inf + i NaN. Fix typos in test names. (csinh_test): Allow invalid exception for NaN +- i Inf. 1997-05-03 09:21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/__math.h (__frexp): Don't raise invalid exception on infinite value. (__m81_test, __M81_COND_NAN, __M81_COND_INF, __M81_COND_NEG, __M81_COND_ZERO): New definitions. * sysdeps/m68k/e_pow.c: Raise invalid exception for NaN result. Use __m81_test. * sysdeps/m68k/s_ccosh.c: Rewritten. * sysdeps/m68k/s_csinh.c: Rewritten. * sysdeps/m68k/s_ccoshf.c: Don't define huge_val. * sysdeps/m68k/s_ccoshl.c: Likewise. * sysdeps/m68k/s_csinhf.c: Likewise. * sysdeps/m68k/s_csinhl.c: Likewise. * sysdeps/m68k/s_ccos.c: New file. * sysdeps/m68k/s_ccosf.c: New file. * sysdeps/m68k/s_ccosl.c: New file. * sysdeps/m68k/s_csin.c: New file. * sysdeps/m68k/s_csinf.c: New file. * sysdeps/m68k/s_csinl.c: New file. 1997-05-02 19:48 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules, manual/Makefile: Remove -$(subdir) suffix from subdir stamp files to avoid problems with long file names. 1997-05-03 22:24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/libm-ieee754/e_acoshl.c: Fix test for x < 1. * sysdeps/libm-ieee754/e_atan2l.c: Ignore integer bit for Inf and NaN. Fix test for sign of infinite y. * sysdeps/libm-ieee754/e_atanhl.c: Fix sign of result. * sysdeps/libm-ieee754/e_sinhl.c: Fix test for sign of argument. 1997-05-03 01:15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * csu/Makefile (extra-objs) [$(elf)=yes]: Add abi-note.o to get dependencies. * csu/abi-note.S: Replace undefined macro ALIGNARG. * sysdeps/unix/sysv/linux/abi-tag.h: Don't use assembler comment character. 1997-05-03 22:27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use notation for local label. 1997-05-05 22:00 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/Makefile (libnsl-routines): Add a lot of new file names. * nis/nis_names.c (nis_add): Moved from here ... * nis/nis_add.c: ... to here and fix parameter flags. * nis/nis_names.c (nis_lookup): Moved from here ... * nis/nis_lookup.c: ... to here. * nis/nis_names.c (nis_modify): Moved from here ... * nis/nis_modify.c: ... to here and fix parameter flags. * nis/nis_names.c (nis_remove): Moved from here ... * nis/nis_remove.c: ... to here and fix parameter flags. * nis/nis_names.c: Removed. * nis/nis_subr.c (nis_domain_of): Moved from here ... * nis/nis_domain_of.c: .. to here. * nis/nis_subr.c (nis_domain_of_r): Moved from here ... * nis/nis_domain_of_r.c: .. to here and fix pointer errors. * nis/nis_addmember.c: New. * nis/nis_checkpoint.c: New. * nis/nis_creategroup.c: New. * nis/nis_defaults.c: New. * nis/nis_destroygroup.c: New. * nis/nis_getservlist.c: New. * nis/nis_ismember.c: New. * nis/nis_ping.c: New. * nis/nis_print_group_entry.c: New. * nis/nis_removemember.c: New. * nis/nis_mkdir.c: New. * nis/nis_rmdir.c: New. * nis/nis_verifygroup.c: New. * nis/rpcsvc/nislib.h: Fix internal function declarations. * nis/nis_server (nis_servstate): New. * nis/nis_server (nis_stats): New. * nis/nis_subr.c (nis_leaf_of_r): Fix buffer problems. * nis/nis_call.c: Remove debug output. * nis/nis_intern.c (__nis_finddirectory): Remove.
1997-05-07 14:34:37 +00:00
fseek (f, 8180L, 0);
fwrite ("Where does this text come from?", 1, 31, f);
fseek (f, 8180L, 0);
fread (buffer, 1, 31, f);
fwrite (buffer, 1, 31, stdout);
fclose (f);
remove (filename);
1995-02-18 01:27:10 +00:00
if (!memcmp (buffer, "Where does this text come from?", 31))
{
puts ("\nTest succeeded.");
return 0;
}
else
{
puts ("\nTest FAILED!");
return 1;
}
}