pgsql: Fix possible crash at transaction end when a plpgsql function is

Lists: pgsql-committers
From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix possible crash at transaction end when a plpgsql function is
Date: 2006-03-02 05:34:18
Message-ID: 20060302053418.0DB159DC8A2@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Log Message:
-----------
Fix possible crash at transaction end when a plpgsql function is used and
then modified within the same transaction. The code was using a linked list
of active PLpgSQL_expr structs, which was OK when it was written because
plpgsql never released any parse data structures for the life of the backend.
But since Neil fixed plpgsql's memory management, elements of the linked list
could be freed, leading to crash when the list is chased. Per report and test
case from Kris Jurka.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
pgsql/src/pl/plpgsql/src:
pl_exec.c (r1.154.2.3 -> r1.154.2.4)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.154.2.3&r2=1.154.2.4)
plpgsql.h (r1.65.2.1 -> r1.65.2.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h.diff?r1=1.65.2.1&r2=1.65.2.2)