The actual segfault was caused by a double pfree(), but ISTM that
authorBruce Momjian
Sat, 14 Dec 2002 18:49:37 +0000 (18:49 +0000)
committerBruce Momjian
Sat, 14 Dec 2002 18:49:37 +0000 (18:49 +0000)
failing to find pg_hba.conf should be a fatal error anyway, so I
increased the priority of the elog() from LOG to FATAL and refactored
the code a little bit.

Neil Conway

src/backend/libpq/hba.c

index 46fa308451488fb6878032d9323055e2a5f2d774..185093fb63363422e32d2736cffdf639bb945a14 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.91 2002/12/11 22:17:11 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.92 2002/12/14 18:49:37 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -845,16 +845,13 @@ load_hba(void)
    file = AllocateFile(conf_file, "r");
    if (file == NULL)
    {
-       /* The open of the config file failed.  */
-       elog(LOG, "load_hba: Unable to open authentication config file \"%s\": %m",
+       elog(FATAL,
+            "load_hba: Unable to open authentication config file \"%s\": %m",
             conf_file);
-       pfree(conf_file);
-   }
-   else
-   {
-       hba_lines = tokenize_file(file);
-       FreeFile(file);
    }
+
+   hba_lines = tokenize_file(file);
+   FreeFile(file);
    pfree(conf_file);
 }