Rod Taylor <pg@rbt.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