Fix erroneous error message printout when a configuration file contains
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 25 May 2004 19:11:26 +0000 (19:11 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 25 May 2004 19:11:26 +0000 (19:11 +0000)
an overlength token.  Printout was always garbage and could dump core
entirely :-(.  Per report from Martin Pitt.

src/backend/libpq/hba.c

index 6b32c3421403152787ed518c15094d2a7eb43783..5e8903d6acc7d1bc18a68462601bfce4cd83a979 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.116.2.1 2003/12/05 15:50:39 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.116.2.2 2004/05/25 19:11:26 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -124,14 +124,14 @@ next_token(FILE *fp, char *buf, const int bufsz)
 
            if (buf >= end_buf)
            {
+               *buf = '\0';
                ereport(LOG,
                        (errcode(ERRCODE_CONFIG_FILE_ERROR),
                         errmsg("authentication file token too long, skipping: \"%s\"",
-                               buf)));
+                               start_buf)));
                /* Discard remainder of line */
                while ((c = getc(fp)) != EOF && c != '\n')
                    ;
-               buf[0] = '\0';
                break;
            }