Re: Potential pointer dereference in plperl.c (caused by transforms patch) - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Potential pointer dereference in plperl.c (caused by transforms patch)
Date
Msg-id CAB7nPqQW4OaEbS9mEDySJObGqtH9+MZMoC1FNqiYUXvCb1XKcg@mail.gmail.com
Whole thread Raw
In response to Re: Potential pointer dereference in plperl.c (caused by transforms patch)  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
On Sat, Nov 28, 2015 at 5:29 AM, Noah Misch wrote:
> fcinfo->flinfo->fn_oid==InvalidOid implies an inline block, and those have no
> arguments.  If it placates Coverity, I lean toward an assert-only change:

Oh, thanks. I missed this point.

> --- a/src/pl/plperl/plperl.c
> +++ b/src/pl/plperl/plperl.c
> @@ -2112,6 +2112,8 @@ plperl_call_perl_func(plperl_proc_desc *desc, FunctionCallInfo fcinfo)
>         EXTEND(sp, desc->nargs);
>
> +       /* Get signature for true functions; inline blocks have no args. */
>         if (fcinfo->flinfo->fn_oid)
>                 get_func_signature(fcinfo->flinfo->fn_oid, &argtypes, &nargs);
> +       Assert(nargs == desc->nargs);
>
>         for (i = 0; i < desc->nargs; i++)

Yeah that looks fine.
-- 
Michael



pgsql-hackers by date:

Previous
From: Ildus Kurbangaliev
Date:
Subject: Re: [PATCH] Refactoring of LWLock tranches
Next
From: Kyotaro HORIGUCHI
Date:
Subject: [PoC] Asynchronous execution again (which is not parallel)