pgsql: plpgsql's exec_assign_value() freed the old value of a variable - Mailing list pgsql-committers

From tgl@svr1.postgresql.org (Tom Lane)
Subject pgsql: plpgsql's exec_assign_value() freed the old value of a variable
Date
Msg-id 20050620204513.2EA3F528FE@svr1.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
plpgsql's exec_assign_value() freed the old value of a variable before
copying/converting the new value, which meant that it failed badly on
"var := var" if var is of pass-by-reference type.  Fix this and a similar
hazard in exec_move_row(); not sure that the latter can manifest before
8.0, but patch it all the way back anyway.  Per report from Dave Chapeskie.

Tags:
----
REL7_2_STABLE

Modified Files:
--------------
    pgsql/src/pl/plpgsql/src:
        pl_exec.c (r1.52.2.1 -> r1.52.2.2)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.52.2.1&r2=1.52.2.2)

pgsql-committers by date:

Previous
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql: plpgsql's exec_assign_value() freed the old value of a variable
Next
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql: Remove read_file/write_file tests.