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.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/f5ef00aed4c39645716cabb2e4cf1ef3598fcde7
Modified Files
--------------
src/pl/plpgsql/src/pl_exec.c | 12 +++---------
src/test/regress/expected/plpgsql.out | 12 ++++++++++++
src/test/regress/sql/plpgsql.sql | 10 +++++++++-
3 files changed, 24 insertions(+), 10 deletions(-)