postgres.git / summary / log / commit / refs
commit 22f71a6e1d76c08f3f2a11459ae7a391ea223a97
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu Jan 28 22:18:23 2021 +0000
First released in: 14.0, 9.5.25, 9.6.21, 10.16, 11.11, 12.6, 13.2
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.)
src/backend/optimizer/util/clauses.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index e549ad150ae..946e232cca6 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -4104,9 +4104,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;
[parent: 7c53a80675df]