From 239f74d28d1f5eeec51b2e6f15d5a7bcd2b55801 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Sun, 17 Sep 2000 20:33:45 +0000
Subject: [PATCH] psql forgot to close connection before re-issuing password
 prompt. ([BUGS] psql can crash the backend on login, 2000-09-03)

---
 src/bin/psql/command.c | 3 ++-
 src/bin/psql/startup.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 3f160d382e7..d563070ae68 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.35 2000/07/17 18:24:32 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.36 2000/09/17 20:33:45 petere Exp $
  */
 #include "postgres.h"
 #include "command.h"
@@ -1237,6 +1237,7 @@ do_connect(const char *new_dbname, const char *new_user)
 		if (PQstatus(pset.db) == CONNECTION_BAD &&
 			strcmp(PQerrorMessage(pset.db), "fe_sendauth: no password supplied\n") == 0)
 		{
+			PQfinish(pset.db);
 			need_pass = true;
 			free(prompted_password);
 			prompted_password = NULL;
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 288c60d3108..f96cc7980ba 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.36 2000/09/06 19:54:48 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.37 2000/09/17 20:33:45 petere Exp $
  */
 #include "postgres.h"
 
@@ -168,6 +168,7 @@ main(int argc, char *argv[])
 		if (PQstatus(pset.db) == CONNECTION_BAD &&
 			strcmp(PQerrorMessage(pset.db), "fe_sendauth: no password supplied\n") == 0)
 		{
+			PQfinish(pset.db);
 			need_pass = true;
 			free(password);
 			password = NULL;
-- 
GitLab