Commit 503de546 authored by Heikki Linnakangas's avatar Heikki Linnakangas

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.
parent d0765d50
...@@ -970,7 +970,7 @@ get_bin_version(ClusterInfo *cluster) ...@@ -970,7 +970,7 @@ get_bin_version(ClusterInfo *cluster)
int pre_dot, int pre_dot,
post_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 || if ((output = popen(cmd, "r")) == NULL ||
fgets(cmd_output, sizeof(cmd_output), output) == NULL) fgets(cmd_output, sizeof(cmd_output), output) == NULL)
......
...@@ -1503,7 +1503,7 @@ bootstrap_template1(void) ...@@ -1503,7 +1503,7 @@ bootstrap_template1(void)
unsetenv("PGCLIENTENCODING"); unsetenv("PGCLIENTENCODING");
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" --boot -x1 %s %s %s", SYSTEMQUOTE "\"%s\" --boot -x1 %s %s %s" SYSTEMQUOTE,
backend_exec, backend_exec,
data_checksums ? "-k" : "", data_checksums ? "-k" : "",
boot_options, talkargs); boot_options, talkargs);
...@@ -1544,7 +1544,7 @@ setup_auth(void) ...@@ -1544,7 +1544,7 @@ setup_auth(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -1622,7 +1622,7 @@ get_set_pwd(void) ...@@ -1622,7 +1622,7 @@ get_set_pwd(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -1722,7 +1722,7 @@ setup_depend(void) ...@@ -1722,7 +1722,7 @@ setup_depend(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -1755,7 +1755,7 @@ setup_sysviews(void) ...@@ -1755,7 +1755,7 @@ setup_sysviews(void)
* We use -j here to avoid backslashing stuff in system_views.sql * We use -j here to avoid backslashing stuff in system_views.sql
*/ */
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s -j template1 >%s", SYSTEMQUOTE "\"%s\" %s -j template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -1786,7 +1786,7 @@ setup_description(void) ...@@ -1786,7 +1786,7 @@ setup_description(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -1893,7 +1893,7 @@ setup_collation(void) ...@@ -1893,7 +1893,7 @@ setup_collation(void)
#if defined(HAVE_LOCALE_T) && !defined(WIN32) #if defined(HAVE_LOCALE_T) && !defined(WIN32)
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2038,7 +2038,7 @@ setup_conversion(void) ...@@ -2038,7 +2038,7 @@ setup_conversion(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2076,7 +2076,7 @@ setup_dictionary(void) ...@@ -2076,7 +2076,7 @@ setup_dictionary(void)
* We use -j here to avoid backslashing stuff * We use -j here to avoid backslashing stuff
*/ */
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s -j template1 >%s", SYSTEMQUOTE "\"%s\" %s -j template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2127,7 +2127,7 @@ setup_privileges(void) ...@@ -2127,7 +2127,7 @@ setup_privileges(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2190,7 +2190,7 @@ setup_schema(void) ...@@ -2190,7 +2190,7 @@ setup_schema(void)
* We use -j here to avoid backslashing stuff in information_schema.sql * We use -j here to avoid backslashing stuff in information_schema.sql
*/ */
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s -j template1 >%s", SYSTEMQUOTE "\"%s\" %s -j template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2207,7 +2207,7 @@ setup_schema(void) ...@@ -2207,7 +2207,7 @@ setup_schema(void)
PG_CMD_CLOSE; PG_CMD_CLOSE;
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2241,7 +2241,7 @@ load_plpgsql(void) ...@@ -2241,7 +2241,7 @@ load_plpgsql(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2266,7 +2266,7 @@ vacuum_db(void) ...@@ -2266,7 +2266,7 @@ vacuum_db(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2322,7 +2322,7 @@ make_template0(void) ...@@ -2322,7 +2322,7 @@ make_template0(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
...@@ -2354,7 +2354,7 @@ make_postgres(void) ...@@ -2354,7 +2354,7 @@ make_postgres(void)
fflush(stdout); fflush(stdout);
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s\" %s template1 >%s", SYSTEMQUOTE "\"%s\" %s template1 >%s" SYSTEMQUOTE,
backend_exec, backend_options, backend_exec, backend_options,
DEVNULL); DEVNULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment