pgsql: plpgsql's exec_assign_value() freed the old value of a variable

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: plpgsql's exec_assign_value() freed the old value of a variable
Date: 2005-06-20 20:44:44
Message-ID: 20050620204444.DA2435280F@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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.

Modified Files:
--------------
pgsql/src/pl/plpgsql/src:
pl_exec.c (r1.144 -> r1.145)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.144&r2=1.145)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2005-06-20 20:44:50 pgsql: plpgsql's exec_assign_value() freed the old value of a variable
Previous Message James William Pye 2005-06-20 19:30:54 python - lo: Don't try to resolve the path.