]> granicus.if.org Git - postgresql/commit
plpgsql's exec_assign_value() freed the old value of a variable before
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 20 Jun 2005 20:44:50 +0000 (20:44 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 20 Jun 2005 20:44:50 +0000 (20:44 +0000)
commitc541ca6403f02c695bfeb85b6733cbf2c561943c
tree5d0fc9b4604e271a7d61498b975eb0dde2d9a7b0
parent558ff41f27da0d5a5fc9c0c9a6958bb32035b487
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.
src/pl/plpgsql/src/pl_exec.c