aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/send-pr/send-pr.sh
diff options
context:
space:
mode:
authorSheldon Hearn <sheldonh@FreeBSD.org>2000-04-03 09:49:49 +0000
committerSheldon Hearn <sheldonh@FreeBSD.org>2000-04-03 09:49:49 +0000
commit26d052cf1c8576c1c7c87746a264a3ab32d20bfa (patch)
tree0675f9a2664ede6b6e30be00f50e9156af1552f9 /gnu/usr.bin/send-pr/send-pr.sh
parenta890573afa412e155a25c2ccd696aa7495eea227 (diff)
Notes
Diffstat (limited to 'gnu/usr.bin/send-pr/send-pr.sh')
-rw-r--r--gnu/usr.bin/send-pr/send-pr.sh25
1 files changed, 13 insertions, 12 deletions
diff --git a/gnu/usr.bin/send-pr/send-pr.sh b/gnu/usr.bin/send-pr/send-pr.sh
index 1efaca04790c..1f4b40919cb5 100644
--- a/gnu/usr.bin/send-pr/send-pr.sh
+++ b/gnu/usr.bin/send-pr/send-pr.sh
@@ -73,12 +73,6 @@ fi
#
-[ -z "$TMPDIR" ] && TMPDIR=/tmp
-
-TEMP=$TMPDIR/p$$
-BAD=$TMPDIR/pbad$$
-REF=$TMPDIR/pf$$
-
if [ -z "$LOGNAME" -a -n "$USER" ]; then
LOGNAME=$USER
fi
@@ -93,19 +87,21 @@ elif [ -f $HOME/.fullname ]; then
ORIGINATOR="`sed -e '1q' $HOME/.fullname`"
elif [ -f /bin/domainname ]; then
if [ "`/bin/domainname`" != "" -a -f /usr/bin/ypcat ]; then
+ PTEMP=`mktemp -t p` || exit 1
# Must use temp file due to incompatibilities in quoting behavior
# and to protect shell metacharacters in the expansion of $LOGNAME
/usr/bin/ypcat passwd 2>/dev/null | cat - /etc/passwd | grep "^$LOGNAME:" |
- cut -f5 -d':' | sed -e 's/,.*//' > $TEMP
- ORIGINATOR="`cat $TEMP`"
- rm -f $TEMP
+ cut -f5 -d':' | sed -e 's/,.*//' > $PTEMP
+ ORIGINATOR="`cat $PTEMP`"
+ rm -f $PTEMP
fi
fi
if [ "$ORIGINATOR" = "" ]; then
- grep "^$LOGNAME:" /etc/passwd | cut -f5 -d':' | sed -e 's/,.*//' > $TEMP
- ORIGINATOR="`cat $TEMP`"
- rm -f $TEMP
+ PTEMP=`mktemp -t p` || exit 1
+ grep "^$LOGNAME:" /etc/passwd | cut -f5 -d':' | sed -e 's/,.*//' > $PTEMP
+ ORIGINATOR="`cat $PTEMP`"
+ rm -f $PTEMP
fi
if [ -n "$ORGANIZATION" ]; then
@@ -251,6 +247,9 @@ DESCRIPTION_C='<Precise description of the problem (multiple lines)>'
HOW_TO_REPEAT_C='<Code/input/activities to reproduce the problem (multiple lines)>'
FIX_C='<How to correct or work around the problem, if known (multiple lines)>'
+# Create temporary files, safely
+REF=`mktemp -t pf` || exit 1
+TEMP=`mktemp -t pf` || exit 1
# Catch some signals. ($xs kludge needed by Sun /bin/sh)
xs=0
trap 'rm -f $REF $TEMP; exit $xs' 0
@@ -482,6 +481,7 @@ while [ -z "$REQUEST_ID" ]; do
case "$input" in
a*)
if [ -z "$BATCH" ]; then
+ BAD=`mktemp -t pbad`
echo "$COMMAND: the problem report remains in $BAD and is not sent."
mv $TEMP $BAD
else
@@ -542,6 +542,7 @@ if $MAIL_AGENT < $REF; then
else
echo "$COMMAND: mysterious mail failure."
if [ -z "$BATCH" ]; then
+ BAD=`mktemp -t pbad`
echo "$COMMAND: the problem report remains in $BAD and is not sent."
mv $REF $BAD
else