From ee0ef989f38c1ac482673766636ba89940977913 Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Tue, 15 Jan 2013 18:54:03 +0200
Subject: [PATCH] Don't pass NULL to fprintf, if not currently connected to a
 database.

Backpatch all the way to 8.3. Fixes bug #7811, per report and diagnosis by
Meng Qingzhong.
---
 src/bin/psql/help.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 717d4cd10cf..58f8a0b0167 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -161,6 +161,11 @@ void
 slashUsage(unsigned short int pager)
 {
 	FILE	   *output;
+	char	   *currdb;
+
+	currdb = PQdb(pset.db);
+	if (currdb == NULL)
+		currdb = _("none");
 
 	output = PageOutput(94, pager);
 
@@ -253,7 +258,7 @@ slashUsage(unsigned short int pager)
 	fprintf(output, _("Connection\n"));
 	fprintf(output, _("  \\c[onnect] [DBNAME|- USER|- HOST|- PORT|-]\n"
 	"                         connect to new database (currently \"%s\")\n"),
-			PQdb(pset.db));
+			currdb);
 	fprintf(output, _("  \\encoding [ENCODING]   show or set client encoding\n"));
 	fprintf(output, _("  \\password [USERNAME]   securely change the password for a user\n"));
 	fprintf(output, _("  \\conninfo              display information about current connection\n"));
-- 
GitLab