]> git.ipfire.org Git - thirdparty/sqlite.git/commit
http://www.sqlite.org/cvstrac/tktview?tn=2046
authorshess <shess@noemail.net>
Wed, 29 Nov 2006 05:17:28 +0000 (05:17 +0000)
committershess <shess@noemail.net>
Wed, 29 Nov 2006 05:17:28 +0000 (05:17 +0000)
commit5c327dbb4683645c47e334c7f4e7fa908f2e1184
treea53ea318240562baadfdf5aa7ca87c8f6cb00bf2
parent7e3d0c2d2f86961a85b9dd0f553b6fc37d11ee76
http://www.sqlite.org/cvstrac/tktview?tn=2046

The virtual table interface allows for a cursor to field multiple
xFilter() calls.  For instance, if a join is done with a virtual
table, there could be a call for each row which potentially matches.
Unfortunately, fulltextFilter() assumes that it has a fresh cursor,
and overwrites a prepared statement and a malloc'ed pointer, resulting
in unfinalized statements and a memory leak.

This change hacks the code to manually clean up offending items in
fulltextFilter(), emphasis on "hacks", since it's a fragile fix
insofar as future additions to fulltext_cursor could continue to have
the problem. (CVS 3521)

FossilOrigin-Name: 18142fdb6d1f5bfdbb1155274502b9a602885fcb
ext/fts1/fts1.c
ext/fts2/fts2.c
manifest
manifest.uuid