Re: pg_ctl -o option dumps core when processing postmaster arguments...

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Sean Chittenden <sean(at)chittenden(dot)org>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: pg_ctl -o option dumps core when processing postmaster arguments...
Date: 2004-07-29 05:52:13
Message-ID: 200407290552.i6T5qDq04300@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches


Uh, this patch is strange:

-#define WHITESPACE "\f\n\r\t\v" /* as defined by isspace() */
+#define WHITESPACE "\f\n\r\t\v\0" /* as defined by isspace() */

They are processed the same by the backend because every string has a
trailing null. I think there must be some other bug that this covers
up.

---------------------------------------------------------------------------

Sean Chittenden wrote:
> The attached space adds '\0' as a whitespace character and prevents
> pg_ctl from running out of bounds when processing arguments for -o. I
> don't think this ever worked, at least on Mac, but I suspect every
> platform suffered from this bug.
>
> % gdb ./bin/pg_ctl
> GNU gdb 5.3-20030128 (Apple version gdb-309) (Thu Dec 4 15:41:30 GMT
> 2003)
> This GDB was configured as "powerpc-apple-darwin".
> Reading symbols for shared libraries ........ done
> (gdb) set arg -w -o -F start
> (gdb) run
> Starting program: /usr/local/pgsql/bin/pg_ctl -w -o -F start
> Reading symbols for shared libraries ++.. done
> waiting for postmaster to start...
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> test_postmaster_connection () at pg_ctl.c:363
> 363 p++;
> (gdb) bt
> #0 test_postmaster_connection () at pg_ctl.c:363
> #1 0x00003594 in do_start () at pg_ctl.c:539
> #2 0x00003594 in do_start () at pg_ctl.c:539
> #3 0x00004874 in main (argc=-1610604968, argv=0x0) at pg_ctl.c:1360
> (gdb) p *p
> $1 = 0 '\0'
>
> -sc

[ Attachment, skipping... ]

>
> --
> Sean Chittenden

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2004-07-29 05:58:06 Re: logger subprocess
Previous Message Fabien COELHO 2004-07-29 05:22:59 Re: pgxs: build infrastructure for extensions v4