Re: Fix possible dereference null pointer (PQprint)

Поиск
Список
Период
Сортировка
От Ranier Vilela
Тема Re: Fix possible dereference null pointer (PQprint)
Дата
Msg-id CAEudQAqnJD+KLeD0WyCMpuPLWMgt9bpRFhAfiJWshxwdXyNVUQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Fix possible dereference null pointer (PQprint)  (Daniel Gustafsson <daniel@yesql.se>)
Список pgsql-hackers
Em sex., 31 de mai. de 2024 às 05:03, Daniel Gustafsson <daniel@yesql.se> escreveu:
> On 27 May 2024, at 16:52, Ranier Vilela <ranier.vf@gmail.com> wrote:

> In the function *PQprint*, the variable po->fieldName can be NULL.

Yes.

> See the checks a few lines up.

Indeed, let's check it.

        for (numFieldName = 0;
             po->fieldName && po->fieldName[numFieldName];
             numFieldName++)
            ;
        for (j = 0; j < nFields; j++)
        {
            int         len;
            const char *s = (j < numFieldName && po->fieldName[j][0]) ?
                po->fieldName[j] : PQfname(res, j);

If po->fieldName is NULL then numFieldName won't be incremented and will remain
zero.  In the check you reference we check (j < numFieldName) which will check
the j in the range 0..nFields for being less than zero.  The code thus does
seem quite correct to me.
You are completely correct. My bad.

Thank you Daniel.

best regards,
Ranier Vilela

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Erik Wienhold
Дата:
Сообщение: Re: pltcl crashes due to a syntax error
Следующее
От: Ranier Vilela
Дата:
Сообщение: Re: Avoid an odd undefined behavior with memcmp (src/bin/pg_rewind/pg_rewind.c)