mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
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.
This commit is contained in:
@ -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)
|
||||
|
@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user