pgsql: Guard against null plan pointer in CachedPlanIsSimplyValid(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Guard against null plan pointer in CachedPlanIsSimplyValid().
Date
Msg-id E1qMYJk-000UQN-RF@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Guard against null plan pointer in CachedPlanIsSimplyValid().

If both the passed-in plan pointer and plansource->gplan are
NULL, CachedPlanIsSimplyValid would think that the plan pointer
is possibly-valid and try to dereference it.  For the one extant
call site in plpgsql, this situation doesn't normally happen
which is why we've not noticed. However, it appears to be possible
if the previous use of the cached plan failed, as per report from
Justin Pryzby.  Add an extra check to prevent crashing.
Back-patch to v13 where this code was added.

Discussion: https://postgr.es/m/ZLlV+STFz1l/WhAQ@telsasoft.com

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/291c0254025bb67ceedeaca8531f1b14b8aaeeff

Modified Files
--------------
src/backend/utils/cache/plancache.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: Revert "Add notBefore and notAfter to SSL cert info display"
Next
From: Michael Paquier
Date:
Subject: pgsql: Fix worker_spi when launching workers without shared_preload_lib