diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-01-28 17:18:23 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-01-28 17:19:17 -0500 |
commit | 4a9ce085ab30ad01ffe03eb1743da82b1be280c1 (patch) | |
tree | 4d85e27364f36aac90f81928ae8cef2409b212c1 /src/backend | |
parent | 16f69062e599eccda8aea52301009e63fa96bef4 (diff) | |
download | postgresql-4a9ce085ab30ad01ffe03eb1743da82b1be280c1.tar.gz postgresql-4a9ce085ab30ad01ffe03eb1743da82b1be280c1.zip |
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.)
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/optimizer/util/clauses.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index fec9b66222e..97346e87fe7 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -4090,9 +4090,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; |