Re: Potential NULL dereference found in typecmds.c

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: Potential NULL dereference found in typecmds.c
Дата
Msg-id CABUevExJoAwFEzUg1schREYJeP98oUT7ftRZrh7oLp6i17s2vw@mail.gmail.com
обсуждение исходный текст
Ответ на Potential NULL dereference found in typecmds.c  (Michael Mueller <mmueller@vigilantsw.com>)
Ответы Re: Potential NULL dereference found in typecmds.c
Список pgsql-hackers
On Sat, Jul 2, 2011 at 20:10, Michael Mueller <mmueller@vigilantsw.com> wrote:
> Hi folks,
>
> Sentry found this error last night, and it looks serious enough to
> report.  The error was introduced in commit 426cafc.  Here's the code
> in question, starting at line 2096:
>
>    if (!found)
>    {
>        con = NULL;     /* keep compiler quiet */
>        ereport(ERROR,
>                (errcode(ERRCODE_UNDEFINED_OBJECT),
>                 errmsg("constraint \"%s\" of domain \"%s\" does not exist",
>                        constrName, NameStr(con->conname))));
>    }
>
> It sets 'con' to NULL and then in the next statement, dereferences it.
> I'm not sure if it's possible to reach this path, but if it is
> reachable it will cause a crash.

This code is no longer present in git head, *removed* by commit
426cafc. Not added by it. at least that's how I read the history...

However, it still looks to me like we could get to that code with
con=NULL - if the while loop is never executed. Perhaps this is a
can-never-happen situation? Alvaro?

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


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

Предыдущее
От: Shigeru Hanada
Дата:
Сообщение: Re: per-column generic option
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: Potential NULL dereference found in typecmds.c