diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c index 3d3f7a9bea..56c84e1e62 100644 --- a/src/backend/utils/cache/plancache.c +++ b/src/backend/utils/cache/plancache.c @@ -1440,7 +1440,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);