pgsql: Fix ExecuteCallStmt to not scribble on the passed-in parsetree.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix ExecuteCallStmt to not scribble on the passed-in parsetree.
Дата
Msg-id E1gJOQK-00021l-4D@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix ExecuteCallStmt to not scribble on the passed-in parse tree.

Modifying the parse tree at execution time is, or at least ought to be,
verboten.  It seems quite difficult to actually cause a crash this way
in v11 (although you can exhibit it pretty easily in HEAD by messing
with plan_cache_mode).  Nonetheless, it's risky, so fix and back-patch.

Discussion: https://postgr.es/m/13789.1541359611@sss.pgh.pa.us

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/d358da81414abc57ef44dfd45dfedc3d443e5bd5

Modified Files
--------------
src/backend/commands/functioncmds.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix bugs in plpgsql's handling of CALL argument lists.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Release notes for 11.1, 10.6, 9.6.11, 9.5.15, 9.4.20, 9.3.25.