summaryrefslogtreecommitdiffstats
path: root/usr.sbin/periodic/periodic.sh
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2000-11-02 06:33:57 +0000
committerkris <kris@FreeBSD.org>2000-11-02 06:33:57 +0000
commitb721949a033185259c66fb20759afd7deb09631f (patch)
tree0adde804186775f428a401418a1d69b94749f91b /usr.sbin/periodic/periodic.sh
parenta472162cee4a4c7f269c597d81382d460d7e582e (diff)
downloadFreeBSD-src-b721949a033185259c66fb20759afd7deb09631f.zip
FreeBSD-src-b721949a033185259c66fb20759afd7deb09631f.tar.gz
Don't use a trivially predictable temporary filename and keep recreating
it again and again, practically begging the Bad Man to insert his symlink underneath it and send us down the path to oblivion. Noticed by: David Lary <dlary@secureworks.net>
Diffstat (limited to 'usr.sbin/periodic/periodic.sh')
-rw-r--r--usr.sbin/periodic/periodic.sh5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/periodic/periodic.sh b/usr.sbin/periodic/periodic.sh
index cd152d8..ce38ba2 100644
--- a/usr.sbin/periodic/periodic.sh
+++ b/usr.sbin/periodic/periodic.sh
@@ -27,7 +27,7 @@ fi
host=`hostname`
export host
-tmp_output=${TMPDIR:-/tmp}/periodic.$$
+tmp_output=`mktemp ${TMPDIR:-/tmp}/periodic.XXXXXXXXXX`
# Execute each executable file in the directory list. If the x bit is not
# set, assume the user didn't really want us to muck with it (it's a
@@ -89,9 +89,10 @@ do
esac
[ $output = TRUE ] && { cat $tmp_output; empty=FALSE; }
fi
- rm -f $tmp_output
+ cp /dev/null $tmp_output
fi
done
+ rm -f $tmp_output
done
if [ $empty = TRUE ]
then
OpenPOWER on IntegriCloud