postgres.git / summary / log / commit / refs

commit    8a90a39b4e033881dda0dcacfc69a0b66e244624
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Wed Apr 30 07:34:15 2014 +0000
First released in: 9.4.0, 8.4.22, 9.0.18, 9.1.14, 9.2.9, 9.3.5

    Add missing SYSTEMQUOTEs
    
    Some popen() calls were missing SYSTEMQUOTEs, which caused initdb and
    pg_upgrade to fail on Windows, if the installation path contained both
    spaces and @ signs.
    
    Patch by Nikhil Deshpande. Backpatch to all supported versions.


contrib/pg_upgrade/check.c | 2 +- src/bin/initdb/initdb.c | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c index bacd41e0757..794d22cb7f1 100644 --- a/contrib/pg_upgrade/check.c +++ b/contrib/pg_upgrade/check.c @@ -961,7 +961,7 @@ get_bin_version(ClusterInfo *cluster) int pre_dot, post_dot; - snprintf(cmd, sizeof(cmd), "\"%s/pg_ctl\" --version", cluster->bindir); + snprintf(cmd, sizeof(cmd), SYSTEMQUOTE "\"%s/pg_ctl\" --version" SYSTEMQUOTE, cluster->bindir); if ((output = popen(cmd, "r")) == NULL || fgets(cmd_output, sizeof(cmd_output), output) == NULL) diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 0d867bba135..45c44536b90 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -1445,7 +1445,7 @@ bootstrap_template1(void) unsetenv("PGCLIENTENCODING"); snprintf(cmd, sizeof(cmd), - "\"%s\" --boot -x1 %s %s %s", + SYSTEMQUOTE "\"%s\" --boot -x1 %s %s %s" SYSTEMQUOTE, backend_exec, data_checksums ? "-k" : "", boot_options, talkargs); @@ -1486,7 +1486,7 @@ setup_auth(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -1564,7 +1564,7 @@ get_set_pwd(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -1664,7 +1664,7 @@ setup_depend(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -1697,7 +1697,7 @@ setup_sysviews(void) * We use -j here to avoid backslashing stuff in system_views.sql */ snprintf(cmd, sizeof(cmd), - "\"%s\" %s -j template1 >%s", + SYSTEMQUOTE "\"%s\" %s -j template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -1728,7 +1728,7 @@ setup_description(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -1835,7 +1835,7 @@ setup_collation(void) #if defined(HAVE_LOCALE_T) && !defined(WIN32) snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -1974,7 +1974,7 @@ setup_conversion(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2012,7 +2012,7 @@ setup_dictionary(void) * We use -j here to avoid backslashing stuff */ snprintf(cmd, sizeof(cmd), - "\"%s\" %s -j template1 >%s", + SYSTEMQUOTE "\"%s\" %s -j template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2063,7 +2063,7 @@ setup_privileges(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2126,7 +2126,7 @@ setup_schema(void) * We use -j here to avoid backslashing stuff in information_schema.sql */ snprintf(cmd, sizeof(cmd), - "\"%s\" %s -j template1 >%s", + SYSTEMQUOTE "\"%s\" %s -j template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2143,7 +2143,7 @@ setup_schema(void) PG_CMD_CLOSE; snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2177,7 +2177,7 @@ load_plpgsql(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2202,7 +2202,7 @@ vacuum_db(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2258,7 +2258,7 @@ make_template0(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); @@ -2290,7 +2290,7 @@ make_postgres(void) fflush(stdout); snprintf(cmd, sizeof(cmd), - "\"%s\" %s template1 >%s", + SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE, backend_exec, backend_options, DEVNULL); [parent: 150a44e83d75]