From e70813fbc4aaca35ec012d5a426706bd54e4acab Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 20 Apr 2022 11:44:08 +0200 Subject: [PATCH] set_deparse_plan: Reuse variable to appease Coverity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Coverity complains that dpns->outer_plan is deferenced (to obtain ->targetlist) when possibly NULL. We can avoid this by using dpns->outer_tlist instead, which was already obtained a few lines up. The fact that we end up with dpns->inner_tlist = dpns->outer_tlist is a bit suspicious-looking and maybe worthy of more investigation, but I'll leave that for another day. Reviewed-by: Michaƫl Paquier Discussion: https://postgr.es/m/202204191345.qerjy3kxi3eb@alvherre.pgsql --- src/backend/utils/adt/ruleutils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 7e08d7fe6c2..5d49f564a2e 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -4996,7 +4996,7 @@ set_deparse_plan(deparse_namespace *dpns, Plan *plan) if (IsA(plan, ModifyTable)) { if (((ModifyTable *) plan)->operation == CMD_MERGE) - dpns->inner_tlist = dpns->outer_plan->targetlist; + dpns->inner_tlist = dpns->outer_tlist; else dpns->inner_tlist = ((ModifyTable *) plan)->exclRelTlist; }