]> granicus.if.org Git - postgresql/commit
Free SQLSTATE and SQLERRM no earlier than other PL/pgSQL variables.
authorNoah Misch <noah@leadboat.com>
Thu, 26 Feb 2015 04:48:28 +0000 (23:48 -0500)
committerNoah Misch <noah@leadboat.com>
Thu, 26 Feb 2015 04:48:58 +0000 (23:48 -0500)
commitd7083cc546bba50fe1adea5a05772f857cbff96b
tree9e16ab074c1497db05ff34ae4183c1438dd92791
parentbe8801e9c5f86122dacc8b037f0fab960dc0b196
Free SQLSTATE and SQLERRM no earlier than other PL/pgSQL variables.

"RETURN SQLERRM" prompted plpgsql_exec_function() to read from freed
memory.  Back-patch to 9.0 (all supported versions).  Little code ran
between the premature free and the read, so non-assert builds are
unlikely to witness user-visible consequences.
src/pl/plpgsql/src/pl_exec.c
src/test/regress/expected/plpgsql.out
src/test/regress/sql/plpgsql.sql