Re: Possible pointer var TupleDesc rettupdesc used not initialized (src/backend/optimizer/util/clauses.c)

Ranier Vilela <ranier.vf@gmail.com>

From: Ranier Vilela <ranier.vf@gmail.com>
To: Zhihong Yu <zyu@yugabyte.com>
Cc: Mark Dilger <mark.dilger@enterprisedb.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2021-05-25T11:51:38Z
Lists: pgsql-hackers
Em seg., 24 de mai. de 2021 às 23:35, Zhihong Yu <zyu@yugabyte.com>
escreveu:

>
>
> On Mon, May 24, 2021 at 7:21 PM Ranier Vilela <ranier.vf@gmail.com> wrote:
>
>> Em seg., 24 de mai. de 2021 às 22:42, Mark Dilger <
>> mark.dilger@enterprisedb.com> escreveu:
>>
>>>
>>>
>>> > On May 24, 2021, at 5:37 PM, Ranier Vilela <ranier.vf@gmail.com>
>>> wrote:
>>> >
>>> > Hi,
>>> >
>>> > Possible pointer TupleDesc rettupdesc used not initialized?
>>> >
>>> > if (!isNull) at line 4346 taking a true branch, the function
>>> check_sql_fn_retval at line 4448 can use rettupdesc uninitialized.
>>>
>>> Care to submit a patch?
>>>
>> Hi Mark, sorry but not.
>> I examined the code and I can't say what the correct value is for
>> rettupdesc.
>>
>
> Hi,
> It seems the following call would fill up value for rettupdesc :
>
> functypclass = get_expr_result_type((Node *) fexpr, NULL, &rettupdesc);
>
In short, do you suggest running half the else?
To do this, you need to fill fexpr correctly.
It will not always be a trivial solution.

regards,
Ranier Vilela

Commits

  1. Fix use of uninitialized variable in inline_function().