From 97dba0ac00d5c5ba84896ead4d2568ff29c9151e Mon Sep 17 00:00:00 2001 From: Onur Tirtir Date: Fri, 27 Jan 2023 11:00:41 +0300 Subject: [PATCH] Fix uninit mem acceess in UpdateFunctionDistributionInfo (#6658) Fixes #6655. heap_modify_tuple() fetches values[i] if replace[i] is set true, regardless of the fact that whether isnull[i] is true or false. So similar to replace[], let's init values[] & isnull[] too. DESCRIPTION: Fixes an uninitialized memory access in create_distributed_function() --- src/backend/distributed/commands/function.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/distributed/commands/function.c b/src/backend/distributed/commands/function.c index 7240c94a3..c5a0652ae 100644 --- a/src/backend/distributed/commands/function.c +++ b/src/backend/distributed/commands/function.c @@ -752,6 +752,8 @@ UpdateFunctionDistributionInfo(const ObjectAddress *distAddress, distAddress->objectId, distAddress->objectSubId))); } + memset(values, 0, sizeof(values)); + memset(isnull, 0, sizeof(isnull)); memset(replace, 0, sizeof(replace)); replace[Anum_pg_dist_object_distribution_argument_index - 1] = true;