From badfef45be1b966a6fd5ac1224ed17717dc3cde9 Mon Sep 17 00:00:00 2001 From: Lukas Fittl Date: Wed, 28 Jan 2026 21:39:42 -0800 Subject: [PATCH] materialize_finished_plan: Ensure dummy matpath is fully initialized Previously we were selectively initializing the fields that cost_material was reading, but that is brittle, and as the omission in the recent commit 4020b370f214315 shows, easy to miss when reading from additional fields in cost_material. Instead, zero initialize the dummy Path struct used to retrieve the cost values. Per valgrind complaint from buildfarm member skink. --- src/backend/optimizer/plan/createplan.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index c26e841f537..290ca83e3e0 100644 --- a/src/backend/optimizer/plan/createplan.c +++ b/src/backend/optimizer/plan/createplan.c @@ -6505,7 +6505,7 @@ Plan * materialize_finished_plan(Plan *subplan) { Plan *matplan; - Path matpath; /* dummy for cost_material */ + Path matpath = {0}; /* dummy for cost_material */ Cost initplan_cost; bool unsafe_initplans; @@ -6527,7 +6527,6 @@ materialize_finished_plan(Plan *subplan) subplan->total_cost -= initplan_cost; /* Set cost data */ - matpath.parent = NULL; cost_material(&matpath, enable_material, subplan->disabled_nodes, -- 2.47.1