aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/manctl/manctl.sh
diff options
context:
space:
mode:
authorChris D. Faulhaber <jedgar@FreeBSD.org>2001-01-20 04:30:41 +0000
committerChris D. Faulhaber <jedgar@FreeBSD.org>2001-01-20 04:30:41 +0000
commitcfbe890a94e0139922e11c3b49de9eb15dda53b9 (patch)
treeaea69fbcb81f234f448cd4a2fff31ed267f227e0 /usr.sbin/manctl/manctl.sh
parent87dce36809c34fe407eeecd91ab764c344af0f88 (diff)
downloadsrc-cfbe890a94e0139922e11c3b49de9eb15dda53b9.tar.gz
src-cfbe890a94e0139922e11c3b49de9eb15dda53b9.zip
Use more secure temporary files using mktemp(1)
Submitted by: Mike Heffner <mheffner@vt.edu>
Notes
Notes: svn path=/head/; revision=71293
Diffstat (limited to 'usr.sbin/manctl/manctl.sh')
-rw-r--r--usr.sbin/manctl/manctl.sh20
1 files changed, 12 insertions, 8 deletions
diff --git a/usr.sbin/manctl/manctl.sh b/usr.sbin/manctl/manctl.sh
index 43a1511f0ff3..23e20870ab95 100644
--- a/usr.sbin/manctl/manctl.sh
+++ b/usr.sbin/manctl/manctl.sh
@@ -94,12 +94,13 @@ uncompress_page()
else
if [ $2 != "symbolic" ] ; then
echo gunzipping page $pname 1>&2
- gunzip -c $pname > /tmp/manager.$$
+ temp=`mktemp -t manager` || exit 1
+ gunzip -c $pname > $temp
chmod u+w $pname
- cp /tmp/manager.$$ $pname
+ cp $temp $pname
chmod 444 $pname
mv $pname $fname.$sect
- rm /tmp/manager.$$
+ rm -f $temp
else
# skip symlinks - this can be
# a program like expn, which is
@@ -180,11 +181,13 @@ so_purge_page()
ln ../$2 $fname
else
echo inlining page $fname 1>&2
+ temp=`mktemp -t manager` || exit 1
cat $fname | \
- (cd .. ; soelim ) > /tmp/manager.$$
+ (cd .. ; soelim ) > $temp
chmod u+w $fname
- cp /tmp/manager.$$ $fname
+ cp $temp $fname
chmod 444 $fname
+ rm -f $temp
fi
}
@@ -279,13 +282,14 @@ compress_page()
else
if [ $2 != "symbolic" ] ; then
echo gzipping page $pname 1>&2
+ temp=`mktemp -t manager` || exit 1
cat $pname | \
- (cd .. ; soelim )| gzip -c -- > /tmp/manager.$$
+ (cd .. ; soelim )| gzip -c -- > $temp
chmod u+w $pname
- cp /tmp/manager.$$ $pname
+ cp $temp $pname
chmod 444 $pname
mv $pname $pname.gz
- rm /tmp/manager.$$
+ rm -f $temp
else
# skip symlink - this can be
# a program like expn, which is