diff options
Diffstat (limited to 'src/backend/parser/parse_param.c')
-rw-r--r-- | src/backend/parser/parse_param.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/backend/parser/parse_param.c b/src/backend/parser/parse_param.c index f668abfcb33..e80876aa25e 100644 --- a/src/backend/parser/parse_param.c +++ b/src/backend/parser/parse_param.c @@ -145,14 +145,10 @@ variable_paramref_hook(ParseState *pstate, ParamRef *pref) { /* Need to enlarge param array */ if (*parstate->paramTypes) - *parstate->paramTypes = (Oid *) repalloc(*parstate->paramTypes, - paramno * sizeof(Oid)); + *parstate->paramTypes = repalloc0_array(*parstate->paramTypes, Oid, + *parstate->numParams, paramno); else - *parstate->paramTypes = (Oid *) palloc(paramno * sizeof(Oid)); - /* Zero out the previously-unreferenced slots */ - MemSet(*parstate->paramTypes + *parstate->numParams, - 0, - (paramno - *parstate->numParams) * sizeof(Oid)); + *parstate->paramTypes = palloc0_array(Oid, paramno); *parstate->numParams = paramno; } |