Use mktemp to create our temporary files instead of basing them on our PID. Only portable if you assume the presence of a mktemp helper. diff -ur krb5-1.3.4/src/util/send-pr/send-pr.sh krb5-1.3.4/src/util/send-pr/send-pr.sh --- krb5-1.3.4/src/util/send-pr/send-pr.sh 1997-03-20 01:13:56.000000000 +0100 +++ krb5-1.3.4/src/util/send-pr/send-pr.sh 2004-09-20 11:28:56.000000000 +0200 @@ -96,9 +96,9 @@ fi fi -TEMP=$TMPDIR/p$$ -BAD=$TMPDIR/pbad$$ -REF=$TMPDIR/pf$$ +TEMP=`mktemp "$TMPDIR"/p.XXXXXX` || exit 1 +BAD=`mktemp "$TMPDIR"/pbad.XXXXXX` || exit 1 +REF=`mktemp "$TMPDIR"/pf.XXXXXX` || exit 1 # find a user name if [ "$LOGNAME" = "" ]; then @@ -122,9 +122,10 @@ else # Must use temp file due to incompatibilities in quoting behavior # and to protect shell metacharacters in the expansion of $LOGNAME - $PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP - ORIGINATOR="`cat $TEMP`" - rm -f $TEMP + TEMP2=`mktemp "$TMPDIR"/plogname.XXXXXX` || exit 1 + $PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP2 + ORIGINATOR="`cat $TEMP2`" + rm -f $TEMP2 fi if [ -n "$ORGANIZATION" ]; then @@ -280,7 +281,7 @@ # Catch some signals. ($xs kludge needed by Sun /bin/sh) xs=0 trap 'rm -f $REF $TEMP; exit $xs' 0 -trap 'echo "$COMMAND: Aborting ..."; rm -f $REF $TEMP; xs=1; exit' 1 2 3 13 15 +trap 'echo "$COMMAND: Aborting ..."; rm -f "$REF" "$BAD" "$TEMP"; xs=1; exit' 1 2 3 13 15 # If they told us to use a specific file, then do so. if [ -n "$IN_FILE" ]; then