Re: write past chunk end in ExprContext / to_char

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: write past chunk end in ExprContext / to_char
Date: 2007-06-28 19:09:38
Message-ID: 17853.1183057778@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)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.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-06-28 19:16:15 Re: SetBufferCommitInfoNeedsSave and race conditions
Previous Message Tom Lane 2007-06-28 18:41:28 Re: 'SET LOCAL ROLE blah;' doesn't work?