diff options
author | Bruce Momjian <bruce@momjian.us> | 2004-11-03 22:46:15 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2004-11-03 22:46:15 +0000 |
commit | 0f7a2a5fbeca9c25546c062b598b14feac73c7cf (patch) | |
tree | 8bfa05d66ad60f25e794c9d31d2c327178409685 | |
parent | a80989968078dcfd5f3c8470f2cc47b1988135e3 (diff) | |
download | postgresql-0f7a2a5fbeca9c25546c062b598b14feac73c7cf.tar.gz postgresql-0f7a2a5fbeca9c25546c062b598b14feac73c7cf.zip |
Create temporary files securely.
-rwxr-xr-x | contrib/findoidjoins/make_oidjoins_check | 21 |
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 |