Fix erroneous error message printout when a configuration file contains
authorTom Lane
Tue, 25 May 2004 19:11:14 +0000 (19:11 +0000)
committerTom Lane
Tue, 25 May 2004 19:11:14 +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 00acbcf561708afe920e15a6cfb6e4658801a8e7..d4204acfd576acaec5d7913b921381d5147622e9 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.121 2004/05/19 22:06:16 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.122 2004/05/25 19:11:14 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -144,14 +144,14 @@ next_token(FILE *fp, char *buf, 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;
        }