* configure: Handle temporary files securely using mkdir.

From-SVN: r45939
This commit is contained in:
Joseph Myers 2001-10-02 07:39:18 +01:00 committed by Joseph Myers
parent 357e3f3d83
commit 50f5f79326
2 changed files with 12 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
* configure: Handle temporary files securely using mkdir.
2001-09-29 Alexandre Oliva <aoliva@redhat.com>
* Makefile.in (configure-target-gperf): Depend on $(ALL_GCC_CXX).

14
configure vendored
View File

@ -3,7 +3,7 @@
### WARNING: this file contains embedded tabs. Do not run untabify on this file.
# Configuration script
# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999
# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@ -89,7 +89,7 @@ subdirs=
target_alias=NOTARGET
target_makefile_frag=
undefs=NOUNDEFS
version="$Revision: 1.35 $"
version="$Revision: 1.36 $"
x11=default
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
@ -663,13 +663,15 @@ case "${TMPDIR}" in
esac
# keep this filename short for &%*%$*# 14 char file names and 8+3 file names
tmpfile=${TMPDIR}/cNf$$
tmpdir=${TMPDIR}/cNf$$
mkdir ${tmpdir} || exit 1
tmpfile=${tmpdir}/cNf$$
# Note that under many versions of sh a trap handler for 0 will *override* any
# exit status you explicitly specify! At this point, the only non-error exit
# is at the end of the script; these actions are duplicated there, minus
# the "exit 1". Don't use "exit 0" anywhere after this without resetting the
# trap handler, or you'll lose.
trap "rm -f Makefile.tem ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos; exit 1" 0 1 2 15
trap "rm -rf Makefile.tem ${tmpdir}; exit 1" 0 1 2 15
# split ${srcdir}/configure.in into common, per-host, per-target,
# and post-target parts. Post-target is optional.
@ -696,7 +698,7 @@ if test -f skip-this-dir; then
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
# and reset the trap handler.
trap 0
rm -f Makefile* ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
rm -rf Makefile* ${tmpdir}
# Execute the final clean-up actions
${config_shell} skip-this-dir
# and stop configuring this directory.
@ -1600,7 +1602,7 @@ fi
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
# and reset the trap handler.
rm -f ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
rm -rf ${tmpdir}
trap 0
exit 0