aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/pg_upgrade/check.c17
-rw-r--r--contrib/pg_upgrade/controldata.c4
2 files changed, 10 insertions, 11 deletions
diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c
index ea7464871e8..5b9b4cd3d5a 100644
--- a/contrib/pg_upgrade/check.c
+++ b/contrib/pg_upgrade/check.c
@@ -754,11 +754,11 @@ check_for_support_lib(ClusterInfo *cluster)
snprintf(cmd, sizeof(cmd), "\"%s/pg_config\" --pkglibdir", cluster->bindir);
- if ((output = popen(cmd, "r")) == NULL)
- pg_log(PG_FATAL, "Could not get pkglibdir data: %s\n",
- getErrorText(errno));
+ if ((output = popen(cmd, "r")) == NULL ||
+ fgets(libdir, sizeof(libdir), output) == NULL)
+ pg_log(PG_FATAL, "Could not get pkglibdir data using %s: %s\n",
+ cmd, getErrorText(errno));
- fgets(libdir, sizeof(libdir), output);
pclose(output);
@@ -787,11 +787,10 @@ get_bin_version(ClusterInfo *cluster)
snprintf(cmd, sizeof(cmd), "\"%s/pg_ctl\" --version", cluster->bindir);
- if ((output = popen(cmd, "r")) == NULL)
- pg_log(PG_FATAL, "Could not get pg_ctl version data: %s\n",
- getErrorText(errno));
-
- fgets(cmd_output, sizeof(cmd_output), output);
+ if ((output = popen(cmd, "r")) == NULL ||
+ fgets(cmd_output, sizeof(cmd_output), output) == NULL)
+ pg_log(PG_FATAL, "Could not get pg_ctl version data using %s: %s\n",
+ cmd, getErrorText(errno));
pclose(output);
diff --git a/contrib/pg_upgrade/controldata.c b/contrib/pg_upgrade/controldata.c
index 788c690c2a6..1120d797838 100644
--- a/contrib/pg_upgrade/controldata.c
+++ b/contrib/pg_upgrade/controldata.c
@@ -109,8 +109,8 @@ get_control_data(ClusterInfo *cluster, bool live_check)
fflush(stderr);
if ((output = popen(cmd, "r")) == NULL)
- pg_log(PG_FATAL, "Could not get control data: %s\n",
- getErrorText(errno));
+ pg_log(PG_FATAL, "Could not get control data using %s: %s\n",
+ cmd, getErrorText(errno));
/* Only pre-8.4 has these so if they are not set below we will check later */
cluster->controldata.lc_collate = NULL;