From 0c0908d926cc65c5a10f9507580be3aacce08cf1 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