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
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to