Re: Bug in PL/pgSQL FOR cursor variant - Mailing list pgsql-bugs

From Tom Lane
Subject Re: Bug in PL/pgSQL FOR cursor variant
Date
Msg-id 11897.1277129327@sss.pgh.pa.us
Whole thread Raw
In response to Bug in PL/pgSQL FOR cursor variant  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: Bug in PL/pgSQL FOR cursor variant  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-bugs
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> The problem is that exec_stmt_forc keeps using a pointer to the Portal,
> which becomes invalid if the cursor is closed in the middle. Patch
> attached, will apply..

Does that really fix anything?  I suspect you need to pstrdup() the
portalname.  Also, isn't exec_for_query() at just as much risk?
The latter's problem would only be exposed if the cursor was closed
at a batch boundary, but it's still a problem.

I wonder whether we ought to try to make it an error to close a portal
that's still in use.

            regards, tom lane

pgsql-bugs by date:

Previous
From: "Yuhui"
Date:
Subject: BUG #5515: Memory grows up problem
Next
From: Greg Stark
Date:
Subject: Re: BUG #5516: Memory grows up problem