From 1306947623ab0e6e7ae384c1aff8fd2b214bc3e3 Mon Sep 17 00:00:00 2001 From: Maksim Melnikov Date: Thu, 3 Apr 2025 15:34:58 +0300 Subject: [PATCH] AddressSanitizer: stack-use-after-scope on distributed_planner.c --- src/backend/distributed/planner/distributed_planner.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/backend/distributed/planner/distributed_planner.c b/src/backend/distributed/planner/distributed_planner.c index ac7754cb9..e906a15df 100644 --- a/src/backend/distributed/planner/distributed_planner.c +++ b/src/backend/distributed/planner/distributed_planner.c @@ -2549,21 +2549,19 @@ HasUnresolvedExternParamsWalker(Node *expression, ParamListInfo boundParams) /* check whether parameter is available (and valid) */ if (boundParams && paramId > 0 && paramId <= boundParams->numParams) { - ParamExternData *externParam = NULL; - + Oid paramType; /* give hook a chance in case parameter is dynamic */ if (boundParams->paramFetch != NULL) { ParamExternData externParamPlaceholder; - externParam = (*boundParams->paramFetch)(boundParams, paramId, false, - &externParamPlaceholder); + paramType = (*boundParams->paramFetch)(boundParams, paramId, false, + &externParamPlaceholder)->ptype; } else { - externParam = &boundParams->params[paramId - 1]; + paramType = boundParams->params[paramId - 1].ptype; } - Oid paramType = externParam->ptype; if (OidIsValid(paramType)) { return false;