postgres.git / summary / log / commit / refs
commit 23ed284a5dda5286bd91bb601f30e5e6fae478af
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu Jun 16 16:17:03 2016 +0000
Avoid crash in "postgres -C guc" for a GUC with a null string value.
Emit "(null)" instead, which was the behavior all along on platforms
that don't crash, eg OS X. Per report from Jehan-Guillaume de Rorthais.
Back-patch to 9.2 where -C option was introduced.
Michael Paquier
Report: <20160615204036.2d35d86a@firost>
src/backend/postmaster/postmaster.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index b8b51f1e635..6e29609ff6d 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -783,10 +783,14 @@ PostmasterMain(int argc, char *argv[])
if (output_config_variable != NULL)
{
/*
- * permission is handled because the user is reading inside the data
- * dir
+ * "-C guc" was specified, so print GUC's value and exit. No extra
+ * permission check is needed because the user is reading inside the
+ * data dir.
*/
- puts(GetConfigOption(output_config_variable, false, false));
+ const char *config_val = GetConfigOption(output_config_variable,
+ false, false);
+
+ puts(config_val ? config_val : "(null)");
ExitPostmaster(0);
}
[parent: cd05539ec7f5]