summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2021-12-13 05:08:27 +0000
committerTom Lane2021-12-13 05:08:27 +0000
commit0af208402d0a5cede0e8c9007112233032dab639 (patch)
tree77ca2793a61d82c0438d165c1478f948e27ab2e0
parent25c8e5ef077ed726bfec93dffd4f7870b7ed4313 (diff)
Silence another gcc 11 warning.
Per buildfarm and local experimentation, bleeding-edge gcc isn't convinced that the MemSet in reorder_function_arguments() is safe. Shut it up by adding an explicit check that pronargs isn't negative, and by changing MemSet to memset. (It appears that either change is enough to quiet the warning at -O2, but let's do both to be sure.) This back-patches commit 1046dbedd into out-of-support branches, pursuant to newly-established project policy. The point is to suppress scary-looking warnings so that people building these branches needn't expend brain cells verifying that it's safe to ignore the warnings. Discussion: https://postgr.es/m/[email protected]
-rw-r--r--src/backend/optimizer/util/clauses.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index 89343e67e68..b152ac53b88 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -3982,9 +3982,9 @@ reorder_function_arguments(List *args, HeapTuple func_tuple)
int i;
Assert(nargsprovided <= pronargs);
- if (pronargs > FUNC_MAX_ARGS)
+ if (pronargs < 0 || pronargs > FUNC_MAX_ARGS)
elog(ERROR, "too many function arguments");
- MemSet(argarray, 0, pronargs * sizeof(Node *));
+ memset(argarray, 0, pronargs * sizeof(Node *));
/* Deconstruct the argument list into an array indexed by argnumber */
i = 0;