Re: Memory bug in dsnowball_lexize

2019-05-23 Thread Tom Lane
Mark Dilger writes: > On Thu, May 23, 2019 at 8:46 AM Tom Lane wrote: >> Mark Dilger writes: >>> 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

Re: Memory bug in dsnowball_lexize

2019-05-23 Thread Mark Dilger
On Thu, May 23, 2019 at 8:46 AM Tom Lane wrote: > > Mark Dilger 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/

Re: Memory bug in dsnowball_lexize

2019-05-23 Thread Tom Lane
Mark Dilger 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_sno

Memory bug in dsnowball_lexize

2019-05-23 Thread Mark Dilger
Hackers, 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. In this same file, 'replace_s' calls 'create_s' and if it gets back NULL, returns the error code -1. Otherwise