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
|
Список | 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 по дате отправления: