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

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

From
tgl@postgresql.org (Tom Lane)
Date:
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)