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
1046dbedd 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
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;