git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6f5c8a8)
Silence another gcc 11 warning.
2021年1月28日 22:18:23 +0000 (17:18 -0500)
2021年1月28日 22:19:16 +0000 (17:19 -0500)
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.)


diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index d2470b7c6a7d6c3ba91a584ef610be84231123e8..f3786dd2b63bc1ae5e4609ca872a63dbd82f4349 100644 (file)
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -3805,9 +3805,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;
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /