Re: Avoid possible dereference null pointer (contrib/postgres_fdw/postgres_fdw.c)
От | Ranier Vilela |
---|---|
Тема | Re: Avoid possible dereference null pointer (contrib/postgres_fdw/postgres_fdw.c) |
Дата | |
Msg-id | CAEudQApWN9Lf0KnVYx=LDqDWvnFh-eChZTWRpKOkCiMETwrMtA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Avoid possible dereference null pointer (contrib/postgres_fdw/postgres_fdw.c) (Etsuro Fujita <etsuro.fujita@gmail.com>) |
Список | pgsql-hackers |
Em ter., 17 de jun. de 2025 às 06:09, Etsuro Fujita <etsuro.fujita@gmail.com> escreveu:
Hi,
On Tue, Jun 17, 2025 at 2:38 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
> adjust_foreign_grouping_path_cost(root, pathkeys,
> retrieved_rows, width,
> - fpextra->limit_tuples,
> + fpextra ? fpextra->limit_tuples : 0.0,
> &disabled_nodes,
> &startup_cost, &run_cost);
>
> I couldn't find a query that would reach this code path with
> fpextra == NULL, but I agree the current code is fragile.
> So I think it's a good idea to add the check before accessing
> the field.
We get here only when called from add_foreign_ordered_paths() or
add_foreign_final_paths(), in which cases fpextra is always set, so it
cannot be NULL. No?
False.
In the function *postgresGetForeignRelSize* there is one call,
where fpextra is NULL.
/*
* Get cost/size estimates with help of remote server. Save the
* values in fpinfo so we don't need to do it again to generate the
* basic foreign path.
*/
estimate_path_cost_size(root, baserel, NIL, NIL, NULL,
&fpinfo->rows, &fpinfo->width,
&fpinfo->disabled_nodes,
&fpinfo->startup_cost, &fpinfo->total_cost);
* Get cost/size estimates with help of remote server. Save the
* values in fpinfo so we don't need to do it again to generate the
* basic foreign path.
*/
estimate_path_cost_size(root, baserel, NIL, NIL, NULL,
&fpinfo->rows, &fpinfo->width,
&fpinfo->disabled_nodes,
&fpinfo->startup_cost, &fpinfo->total_cost);
best regards,
Ranier Vilela
В списке pgsql-hackers по дате отправления: