Re: Fix possible dereference null pointer (PQprint)

Поиск
Список
Период
Сортировка
От Daniel Gustafsson
Тема Re: Fix possible dereference null pointer (PQprint)
Дата
Msg-id 18BC1907-1688-463D-8C03-03D64793123A@yesql.se
обсуждение исходный текст
Ответ на Fix possible dereference null pointer (PQprint)  (Ranier Vilela <ranier.vf@gmail.com>)
Ответы Re: Fix possible dereference null pointer (PQprint)
Список pgsql-hackers
> 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.

--
Daniel Gustafsson




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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: Use generation memory context for tuplestore.c
Следующее
От: Peter Smith
Дата:
Сообщение: Re: 001_rep_changes.pl fails due to publisher stuck on shutdown