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>
 
        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);
        }