aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcontrib/findoidjoins/make_oidjoins_check21
1 files changed, 16 insertions, 5 deletions
diff --git a/contrib/findoidjoins/make_oidjoins_check b/contrib/findoidjoins/make_oidjoins_check
index 5106eb1bfd9..4fc9e61875e 100755
--- a/contrib/findoidjoins/make_oidjoins_check
+++ b/contrib/findoidjoins/make_oidjoins_check
@@ -10,12 +10,23 @@
# Caution: you may need to use GNU awk.
AWK=${AWK:-awk}
-INPUTFILE="tmp$$a"
-DUPSFILE="tmp$$b"
-NONDUPSFILE="tmp$$c"
-rm -f $INPUTFILE $DUPSFILE $NONDUPSFILE
+TMP="/tmp/$$"
+trap "rm -rf $TMP" 0 1 2 3 15
-trap "rm -f $INPUTFILE $DUPSFILE $NONDUPSFILE" 0 1 2 3 15
+# Create a temporary directory with the proper permissions so no one can
+# intercept our temporary files and cause a security breach.
+OMASK="`umask`"
+umask 077
+if ! mkdir $TMP
+then echo "Can't create temporary directory $TMP." 1>&2
+ exit 1
+fi
+umask "$OMASK"
+unset OMASK
+
+INPUTFILE="$TMP/a"
+DUPSFILE="$TMP/b"
+NONDUPSFILE="$TMP/c"
# Read input
cat "$@" >$INPUTFILE