pgsql: Don't believe MinMaxExpr is leakproof without checking.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Don't believe MinMaxExpr is leakproof without checking.
Дата
Msg-id E1geo9c-0006Z8-VX@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Don't believe MinMaxExpr is leakproof without checking.

MinMaxExpr invokes the btree comparison function for its input datatype,
so it's only leakproof if that function is.  Many such functions are
indeed leakproof, but others are not, and we should not just assume that
they are.  Hence, adjust contain_leaked_vars to verify the leakproofness
of the referenced function explicitly.

I didn't add a regression test because it would need to depend on
some particular comparison function being leaky, and that's a moving
target, per discussion.

This has been wrong all along, so back-patch to supported branches.

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/68a13f28bebc9eb70cc6988bfa2daaf4500f519f

Modified Files
--------------
src/backend/optimizer/util/clauses.c | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Switch pg_regress to output unified diffs by default
Следующее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Update ssl test certificates and keys