aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/utils/cache/plancache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c
index b481cac5566..73fb2011b48 100644
--- a/src/backend/utils/cache/plancache.c
+++ b/src/backend/utils/cache/plancache.c
@@ -1436,7 +1436,9 @@ CachedPlanIsSimplyValid(CachedPlanSource *plansource, CachedPlan *plan,
* that here we *do* check plansource->is_valid, so as to force plan
* rebuild if that's become false.
*/
- if (!plansource->is_valid || plan != plansource->gplan || !plan->is_valid)
+ if (!plansource->is_valid ||
+ plan == NULL || plan != plansource->gplan ||
+ !plan->is_valid)
return false;
Assert(plan->magic == CACHEDPLAN_MAGIC);