Re: PG_RETURN_TEXT_P crash server process (solved)

From: Pavel Stehule <stehule(at)kix(dot)fsv(dot)cvut(dot)cz>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: PG_RETURN_TEXT_P crash server process (solved)
Date: 2002-11-13 08:09:44
Message-ID: Pine.LNX.4.44.0211130905210.17441-100000@kix.fsv.cvut.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi

PG_RETURN_TEXT_P works well. I made beginer error. I allocated memory by
palloc and before PG_RETURN_TEXT_P deallocated by SPI_finish. After change
SPI_palloc between palloc my function works.

Thank you
Pavel

On Tue, 12 Nov 2002, Pavel Stehule wrote:

> You have true. When I modify code on
>
> long ma = ((*saved_chars + l + VARHDRSZ) / page_size + 1) * page_size;
> *allocated_free = ma - *saved_chars - VARHDRSZ;
>
> my function works well. Thank you wery much. One night I lost with this
> :->
>
> On Tue, 12 Nov 2002, Tom Lane wrote:
>
> > Pavel Stehule <stehule(at)kix(dot)fsv(dot)cvut(dot)cz> writes:
> > > I found some problem with PG_RETURN_TEXT_P.
> >
> > Fix your code to not scribble on memory that doesn't belong to it,
> > and all will be well. I can see at least two buffer-overrun bugs,
> > and there may be more:
> >
> > txtn = (text *) palloc (ma); -- forgot to add VARHDRSZ
> >
> > strcpy (*str_pointer, str); -- copies one byte too many
> >
> > regards, tom lane
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
> >
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message pgsql-bugs 2002-11-13 09:44:59 Bug #816: Bad time conversion from type abstime to datetime
Previous Message pgsql-bugs 2002-11-13 06:11:42 Bug #815: after trigger not working in begin-commit block (no bug)