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
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 |