aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-01-28 17:18:23 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2021-01-28 17:18:38 -0500
commit289ef386dff6662b1c1cf90d0666a3863bcf5ba8 (patch)
treef15c57e1a3dd244a0332bd34164bc2c06c5a8b79 /src
parent6f94531b0cf83b1401aca31c71412e633c566a63 (diff)
downloadpostgresql-289ef386dff6662b1c1cf90d0666a3863bcf5ba8.tar.gz
postgresql-289ef386dff6662b1c1cf90d0666a3863bcf5ba8.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')
-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 28b6a2c0a43..edb56ab3a47 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -4304,9 +4304,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;