pgsql: Don't believe MinMaxExpr is leakproof without checking. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Don't believe MinMaxExpr is leakproof without checking.
Date
Msg-id E1geo9c-0006ZH-VZ@gemulon.postgresql.org
Whole thread Raw
List 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
------
REL9_4_STABLE

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

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


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Switch pg_regress to output unified diffs by default
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Update ssl test certificates and keys