Re: Memory bug in dsnowball_lexize

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Memory bug in dsnowball_lexize
Дата
Msg-id 12465.1558626370@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Memory bug in dsnowball_lexize  (Mark Dilger <hornschnorter@gmail.com>)
Ответы Re: Memory bug in dsnowball_lexize  (Mark Dilger <hornschnorter@gmail.com>)
Список pgsql-hackers
Mark Dilger <hornschnorter@gmail.com> writes:
> In src/backend/snowball/libstemmer/utilities.c, 'create_s' uses
> malloc (not palloc) to allocate memory, and on memory exhaustion
> returns NULL rather than throwing an exception.

Actually not, see macros in src/include/snowball/header.h.

> In src/backend/snowball/dict_snowball.c, 'dsnowball_lexize'
> calls 'SN_set_current' and ignores the return value, thereby
> failing to notice the error, if any.

Hm.  This seems like possibly a bug, in that even if we cover the
malloc issue, there's no API guarantee that OOM is the only possible
reason for reporting failure.

> There is a comment higher up in dict_snowball.c that seems to
> use some handwaving about all this, or perhaps it is documenting
> something else entirely.  In any event, I find the documentation
> about dictCtx insufficient to explain why this memory handling
> is correct.

Fair complaint --- do you want to propose some new wording that
references what header.h does?

            regards, tom lane



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

Предыдущее
От: Pantelis Theodosiou
Дата:
Сообщение: Re: PostgreSQL 12 Beta 1 press release draft
Следующее
От: Pantelis Theodosiou
Дата:
Сообщение: Re: PostgreSQL 12 Beta 1 press release draft