Re: write past chunk end in ExprContext / to_char
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Patrick Welche <prlw1@newn.cam.ac.uk>, pgsql-hackers@postgresql.org
Date: 2007-06-29T02:41:14Z
Lists: pgsql-hackers
Tom Lane wrote: > Patrick Welche <prlw1@newn.cam.ac.uk> writes: > > With today's CVS code (originally noticed with 8.2beta3), on a PC where > > INT_MAX=0x7FFFFFFF=2147483647 > > > postgres=# select to_char(2147483648,'999,999,999'); > > WARNING: detected write past chunk end in ExprContext 0x845509c > > WARNING: detected write past chunk end in ExprContext 0x845509c > > Yech ... it's scribbling on the output of int8out, which is bad enough, > but it's assuming that buffer will be long enough when it demonstrably > isn't. > > Some days I think we ought to throw out formatting.c and rewrite it from > scratch; it's probably the most poorly-coded module in all of Postgres. Agreed from personal experience. I am in there wacking it around it seems every release. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +