Skip to content

Commit a1fe82d

Browse files
committed
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 1046dbe 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/d0316012-ece7-7b7e-2d36-9c38cb77cb3b@enterprisedb.com
1 parent 6eb7efd commit a1fe82d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/backend/optimizer/util/clauses.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3873,9 +3873,9 @@ reorder_function_arguments(List *args, HeapTuple func_tuple)
38733873
int i;
38743874

38753875
Assert(nargsprovided <= pronargs);
3876-
if (pronargs > FUNC_MAX_ARGS)
3876+
if (pronargs < 0 || pronargs > FUNC_MAX_ARGS)
38773877
elog(ERROR, "too many function arguments");
3878-
MemSet(argarray, 0, pronargs * sizeof(Node *));
3878+
memset(argarray, 0, pronargs * sizeof(Node *));
38793879

38803880
/* Deconstruct the argument list into an array indexed by argnumber */
38813881
i = 0;

0 commit comments

Comments
 (0)