mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +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:
@ -810,7 +810,7 @@ get_bin_version(ClusterInfo *cluster)
|
|||||||
FILE *output;
|
FILE *output;
|
||||||
int pre_dot, post_dot;
|
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)
|
if ((output = popen(cmd, "r")) == NULL)
|
||||||
pg_log(PG_FATAL, "Could not get pg_ctl version data: %s\n",
|
pg_log(PG_FATAL, "Could not get pg_ctl version data: %s\n",
|
||||||
|
@ -1192,7 +1192,7 @@ bootstrap_template1(void)
|
|||||||
unsetenv("PGCLIENTENCODING");
|
unsetenv("PGCLIENTENCODING");
|
||||||
|
|
||||||
snprintf(cmd, sizeof(cmd),
|
snprintf(cmd, sizeof(cmd),
|
||||||
"\"%s\" --boot -x1 %s %s",
|
SYSTEMQUOTE "\"%s\" --boot -x1 %s %s" SYSTEMQUOTE,
|
||||||
backend_exec, boot_options, talkargs);
|
backend_exec, boot_options, talkargs);
|
||||||
|
|
||||||
PG_CMD_OPEN;
|
PG_CMD_OPEN;
|
||||||
@ -1231,7 +1231,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);
|
||||||
|
|
||||||
@ -1309,7 +1309,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);
|
||||||
|
|
||||||
@ -1409,7 +1409,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);
|
||||||
|
|
||||||
@ -1442,7 +1442,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);
|
||||||
|
|
||||||
@ -1473,7 +1473,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);
|
||||||
|
|
||||||
@ -1580,7 +1580,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);
|
||||||
|
|
||||||
@ -1719,7 +1719,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);
|
||||||
|
|
||||||
@ -1757,7 +1757,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);
|
||||||
|
|
||||||
@ -1808,7 +1808,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);
|
||||||
|
|
||||||
@ -1871,7 +1871,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);
|
||||||
|
|
||||||
@ -1888,7 +1888,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);
|
||||||
|
|
||||||
@ -1922,7 +1922,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);
|
||||||
|
|
||||||
@ -1947,7 +1947,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);
|
||||||
|
|
||||||
@ -2003,7 +2003,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);
|
||||||
|
|
||||||
@ -2035,7 +2035,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);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user