diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c
index 658854fc08a23c6b39ac9f5ec1af5596a74294b3..66eeb0ef6b237a2702f3ef9a9bdd15310e50a181 100644
--- a/src/bin/psql/common.c
+++ b/src/bin/psql/common.c
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.25 2000/11/13 23:37:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.26 2000/11/27 01:28:40 tgl Exp $
  */
 #include "postgres.h"
 #include "common.h"
@@ -217,12 +217,14 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
 	if (length > 0 && destination[length - 1] != '\n')
 	{
 		/* eat rest of the line */
-		char		buf[512];
+		char		buf[128];
+		int			buflen;
 
 		do
 		{
-			fgets(buf, 512, stdin);
-		} while (buf[strlen(buf) - 1] != '\n');
+			fgets(buf, sizeof(buf), stdin);
+			buflen = strlen(buf);
+		} while (buflen > 0 && buf[buflen - 1] != '\n');
 	}
 
 	if (length > 0 && destination[length - 1] == '\n')