From 5e5d131202c3494f4360f001b4805c8944e9600c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 21 Jul 2018 12:05:25 -0400 Subject: [PATCH] Be more paranoid about quoting in pg_upgrade's test script. Double-quote $PGDATA in "find" commands introduced by commit da9b580d8, in case that path contains spaces or other special characters. Adjust a few other places so that quoting is done more consistently. None of the others are actual bugs AFAICS, but it's confusing to readers if the same thing is done differently in different places. Noted by Tels. Discussion: https://postgr.es/m/c96303c04c360bbedaa04f90f515745b.squirrel@sm.webmail.pair.com --- src/bin/pg_upgrade/test.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/bin/pg_upgrade/test.sh b/src/bin/pg_upgrade/test.sh index 775dd5729d..e898a88a1c 100644 --- a/src/bin/pg_upgrade/test.sh +++ b/src/bin/pg_upgrade/test.sh @@ -65,7 +65,7 @@ case $testhost in ;; esac -POSTMASTER_OPTS="-F -c listen_addresses=$LISTEN_ADDRESSES -k \"$PGHOST\"" +POSTMASTER_OPTS="-F -c listen_addresses=\"$LISTEN_ADDRESSES\" -k \"$PGHOST\"" export PGHOST # don't rely on $PWD here, as old shells don't set it @@ -107,8 +107,8 @@ newsrc=`cd ../../.. && pwd` PATH=$bindir:$PATH export PATH -BASE_PGDATA=$temp_root/data -PGDATA="$BASE_PGDATA.old" +BASE_PGDATA="$temp_root/data" +PGDATA="${BASE_PGDATA}.old" export PGDATA rm -rf "$BASE_PGDATA" "$PGDATA" @@ -224,17 +224,17 @@ if [ -n "$pg_dumpall1_status" ]; then exit 1 fi -PGDATA=$BASE_PGDATA +PGDATA="$BASE_PGDATA" standard_initdb 'initdb' -pg_upgrade $PG_UPGRADE_OPTS -d "${PGDATA}.old" -D "${PGDATA}" -b "$oldbindir" -B "$bindir" -p "$PGPORT" -P "$PGPORT" +pg_upgrade $PG_UPGRADE_OPTS -d "${PGDATA}.old" -D "$PGDATA" -b "$oldbindir" -B "$bindir" -p "$PGPORT" -P "$PGPORT" # make sure all directories and files have group permissions, on Unix hosts # Windows hosts don't support Unix-y permissions. case $testhost in MINGW*) ;; - *) if [ `find ${PGDATA} -type f ! -perm 640 | wc -l` -ne 0 ]; then + *) if [ `find "$PGDATA" -type f ! -perm 640 | wc -l` -ne 0 ]; then echo "files in PGDATA with permission != 640"; exit 1; fi ;; @@ -242,7 +242,7 @@ esac case $testhost in MINGW*) ;; - *) if [ `find ${PGDATA} -type d ! -perm 750 | wc -l` -ne 0 ]; then + *) if [ `find "$PGDATA" -type d ! -perm 750 | wc -l` -ne 0 ]; then echo "directories in PGDATA with permission != 750"; exit 1; fi ;; -- 2.40.0