From 67e2f2b88985ed71303c9d8a5563b9584a798466 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 2 Sep 2009 02:41:20 +0000 Subject: [PATCH] Fix pg_ctl's readfile() to not go into infinite loop on an empty file (could happen if either postgresql.conf or postmaster.opts is empty). It's been broken since the C version was written for 8.0, so patch all the way back. initdb's copy of the function is broken in the same way, but it's less important there since the input files should never be empty. Patch that in HEAD only, and also fix some cosmetic differences that crept into that copy of the function. Per report from Corry Haines and Jeff Davis. --- src/bin/pg_ctl/pg_ctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index 26ad982f7eb..ca2d7c83a15 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -4,7 +4,7 @@ * * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.61.2.6 2008/09/30 13:14:21 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.61.2.7 2009/09/02 02:41:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -268,7 +268,7 @@ static char ** readfile(const char *path) { FILE *infile; - int maxlength = 0, + int maxlength = 1, linelen = 0; int nlines = 0; char **result; -- 2.47.2