]> granicus.if.org Git - postgresql/commitdiff
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;
                        }