Re: 7.4.5 / 7.4.6 crash (pg_hba.conf issue)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Rod Taylor <pg(at)rbt(dot)ca>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 7.4.5 / 7.4.6 crash (pg_hba.conf issue)
Date: 2004-11-17 19:57:50
Message-ID: 2862.1100721470@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Rod Taylor <pg(at)rbt(dot)ca> writes:
> I've run across a bug in pg_hba.conf routines which is repeatable in
> both 32bit intel on Linux and 64bit AMD on FreeBSD with both 7.4.5 and
> 7.4.6. It results in the postmaster crashing which is quite annoying
> when it leaves behind it's children.

Off-by-one memory allocation problem --- it only bites you if the string
lengths are just right, which probably explains the lack of prior
reports even though the bug has been there since 7.3. Simplest fix is

Index: hba.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/libpq/hba.c,v
retrieving revision 1.87.2.4
retrieving revision 1.87.2.5
diff -c -r1.87.2.4 -r1.87.2.5
*** hba.c 13 Apr 2003 04:07:31 -0000 1.87.2.4
--- hba.c 17 Nov 2004 19:54:53 -0000 1.87.2.5
***************
*** 281,287 ****
{
if (strlen(comma_str))
{
! comma_str = repalloc(comma_str, strlen(comma_str) + 1);
strcat(comma_str, MULTI_VALUE_SEP);
}
comma_str = repalloc(comma_str,
--- 281,287 ----
{
if (strlen(comma_str))
{
! comma_str = repalloc(comma_str, strlen(comma_str) + 1 + 1);
strcat(comma_str, MULTI_VALUE_SEP);
}
comma_str = repalloc(comma_str,

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2004-11-17 19:59:56 Re: Tired of -Wold-style-definition already
Previous Message Andrew Dunstan 2004-11-17 19:31:44 Re: Tired of -Wold-style-definition already