diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-10-20 16:42:46 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-10-20 16:42:46 +0000 |
commit | a171fc1a4f37e37c1e80fe3e92a96b2bd37c8f98 (patch) | |
tree | 9b5e63e023a699ebf4d3916936f0f9688f197374 | |
parent | fb22b3209536974a44d8978f1ba2d3bdffd14c1c (diff) | |
download | postgresql-a171fc1a4f37e37c1e80fe3e92a96b2bd37c8f98.tar.gz postgresql-a171fc1a4f37e37c1e80fe3e92a96b2bd37c8f98.zip |
Use temp files in current directory, not /tmp, to reduce security risk
while running this script.
-rwxr-xr-x | contrib/findoidjoins/make_oidjoins_check | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/contrib/findoidjoins/make_oidjoins_check b/contrib/findoidjoins/make_oidjoins_check index 74a2856778c..5106eb1bfd9 100755 --- a/contrib/findoidjoins/make_oidjoins_check +++ b/contrib/findoidjoins/make_oidjoins_check @@ -10,27 +10,32 @@ # Caution: you may need to use GNU awk. AWK=${AWK:-awk} -trap "rm -f /tmp/$$ /tmp/$$a /tmp/$$b" 0 1 2 3 15 +INPUTFILE="tmp$$a" +DUPSFILE="tmp$$b" +NONDUPSFILE="tmp$$c" +rm -f $INPUTFILE $DUPSFILE $NONDUPSFILE + +trap "rm -f $INPUTFILE $DUPSFILE $NONDUPSFILE" 0 1 2 3 15 # Read input -cat "$@" >/tmp/$$ +cat "$@" >$INPUTFILE # Look for fields with multiple references. -cat /tmp/$$ | cut -d' ' -f2 | sort | uniq -d >/tmp/$$a -if [ -s /tmp/$$a ] ; then +cat $INPUTFILE | cut -d' ' -f2 | sort | uniq -d >$DUPSFILE +if [ -s $DUPSFILE ] ; then echo "Ignoring these fields that link to multiple tables:" 1>&2 - cat /tmp/$$a 1>&2 + cat $DUPSFILE 1>&2 fi # Get the non-multiply-referenced fields. -cat /tmp/$$ | while read LINE +cat $INPUTFILE | while read LINE do set -- $LINE - grep "^$2\$" /tmp/$$a >/dev/null 2>&1 || echo $LINE -done >/tmp/$$b + grep "^$2\$" $DUPSFILE >/dev/null 2>&1 || echo $LINE +done >$NONDUPSFILE # Generate the output. -cat /tmp/$$b | +cat $NONDUPSFILE | $AWK -F'[ \.]' '\ BEGIN \ { |