Commit a14424a9 authored by Peter Eisentraut's avatar Peter Eisentraut

Fix off-by-one error in the maxlen parameter handling.

parent 6cf8ce13
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/sprompt.c,v 1.3 2002/09/11 17:32:37 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/sprompt.c,v 1.4 2003/03/18 22:09:37 petere Exp $
*/ */
/* /*
...@@ -45,7 +45,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo) ...@@ -45,7 +45,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
t; t;
#endif #endif
destination = (char *) malloc(maxlen + 2); destination = (char *) malloc(maxlen + 1);
if (!destination) if (!destination)
return NULL; return NULL;
...@@ -83,7 +83,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo) ...@@ -83,7 +83,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
fflush(termout); fflush(termout);
} }
if (fgets(destination, maxlen, termin) == NULL) if (fgets(destination, maxlen + 1, termin) == NULL)
destination[0] = '\0'; destination[0] = '\0';
length = strlen(destination); length = strlen(destination);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/sprompt.c,v 1.3 2002/09/04 20:31:36 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/Attic/sprompt.c,v 1.4 2003/03/18 22:09:37 petere Exp $
*/ */
...@@ -44,7 +44,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo) ...@@ -44,7 +44,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
t; t;
#endif #endif
destination = (char *) malloc(maxlen + 2); destination = (char *) malloc(maxlen + 1);
if (!destination) if (!destination)
return NULL; return NULL;
...@@ -82,7 +82,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo) ...@@ -82,7 +82,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
fflush(termout); fflush(termout);
} }
if (fgets(destination, maxlen, termin) == NULL) if (fgets(destination, maxlen + 1, termin) == NULL)
destination[0] = '\0'; destination[0] = '\0';
length = strlen(destination); length = strlen(destination);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment