From: dan Date: Thu, 10 Jan 2019 18:35:09 +0000 (+0000) Subject: Fix a memory leak in fts5. X-Git-Tag: version-3.27.0~184 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f7d687c9d3f4ef36a8bfba2f635e852115cad006;p=thirdparty%2Fsqlite.git Fix a memory leak in fts5. FossilOrigin-Name: ff3b011f17f4f02e486f3c8de607f62eddf3b86562e2df82dba57ea166994b65 --- diff --git a/ext/fts5/fts5_index.c b/ext/fts5/fts5_index.c index 88505fc18b..dd70a460bf 100644 --- a/ext/fts5/fts5_index.c +++ b/ext/fts5/fts5_index.c @@ -3403,7 +3403,6 @@ static void fts5MultiIterNew( pNew->bRev = (0!=(flags & FTS5INDEX_QUERY_DESC)); pNew->bSkipEmpty = (0!=(flags & FTS5INDEX_QUERY_SKIPEMPTY)); pNew->pColset = pColset; - fts5StructureRef(pStruct); if( (flags & FTS5INDEX_QUERY_NOOUTPUT)==0 ){ fts5IterSetOutputCb(&p->rc, pNew); } diff --git a/ext/fts5/test/fts5update.test b/ext/fts5/test/fts5update.test index 913c06e863..0cbfe3499a 100644 --- a/ext/fts5/test/fts5update.test +++ b/ext/fts5/test/fts5update.test @@ -134,5 +134,10 @@ do_test 3.1 { } } {} + } + +reset_db +do_catchsql_test 4.0 { CREATE VIRTUAL TABLE t1 USING fts5(a,b,c); } {0 {}} +do_catchsql_test 4.1 { DELETE FROM t1 WHERE t1 MATCH 'f*'; } {0 {}} finish_test diff --git a/manifest b/manifest index b9b27db601..2e046311ed 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\suse-after-free\sand\sdouble-free\serrors\sthat\scould\soccur\sif\san\sfts5\stable\nis\smodified\sin\scertain\sways\swhile\sthere\sare\sactive\scursors. -D 2019-01-10T17:08:20.419 +C Fix\sa\smemory\sleak\sin\sfts5. +D 2019-01-10T18:35:09.737 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in d8b254f8bb81bab43c340d70d17dc3babab40fcc8a348c8255881f780a45fee6 @@ -115,7 +115,7 @@ F ext/fts5/fts5_buffer.c 9d7bd654123832879c9f7e2d37f37aebcc3271e65a5e56d9410d81e F ext/fts5/fts5_config.c eeec97cb0237991e7fa3bbae07b5cc354e3f238b661200c11228fe167c18f882 F ext/fts5/fts5_expr.c 188d1dca5a262a0708efc5deb809f1aa6ecea4158986a439d2670cfe72d10b65 F ext/fts5/fts5_hash.c d415f5ad332b051f0ade564bcf1762c4467cc49b2ba8ea5873d8744c705d8d42 -F ext/fts5/fts5_index.c ec0ca720bf3d564adc659791c6a9e7b98b019b4083882b4ea9173e1870035645 +F ext/fts5/fts5_index.c 89ebc3ca91f815059456913dc628f2f1401265efc2bd4a7ff4979f3e46c94515 F ext/fts5/fts5_main.c 90062ccfc54031ff97660e277d868ec080c5b46e42d784856385b12645e60ed6 F ext/fts5/fts5_storage.c 00db5029ee470172c1a79d7182808b678ee21b7ea1f63618bcb0591bf8cf7f8a F ext/fts5/fts5_tcl.c 39bcbae507f594aad778172fa914cad0f585bf92fd3b078c686e249282db0d95 @@ -215,7 +215,7 @@ F ext/fts5/test/fts5unicode2.test 9b3df486de05fb4bde4aa7ee8de2e6dae1df6eb90e3f2e F ext/fts5/test/fts5unicode3.test 590c72e18195bda2446133f9d82d04a4e89d094bba58c75ae10f4afc6faa0744 F ext/fts5/test/fts5unicode4.test 6463301d669f963c83988017aa354108be0b947d325aef58d3abddf27147b687 F ext/fts5/test/fts5unindexed.test 9021af86a0fb9fc616f7a69a996db0116e7936d0db63892db6bafabbec21af4d -F ext/fts5/test/fts5update.test 8486224b6174c71e459a467f49a9bb67a7656fd54a995b48be1b0dc3bdcf18af +F ext/fts5/test/fts5update.test 3f0e75ba7640adfdb89953ce9d5a807cb7525c60cf3ebaaa15257510773e66c8 F ext/fts5/test/fts5version.test c8f2cc105f0abf0224965f93e584633dee3e06c91478bc67e468f7cfdf97fd6a F ext/fts5/test/fts5vocab.test 26e069050d6fb389e67f7a9402421948233152ae433e6b8da47cf15d3b5a8d26 F ext/fts5/test/fts5vocab2.test 5472d6cd852fe848876892c48a754c82af018bf08ca16f1f167db59dc64586f7 @@ -1797,7 +1797,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 83c467d7af63bd2e7800aff4fe9b09dbd75557460b75a9e07205dfae7e28312c -R 3351e2aae6403322cbe69ee0af9a55bf +P 3291b2a6fe6f38ae91b933e5cd2bf7d97432374b4fb1fccd92b4bd759b02ee06 +R 1c33165edc9b45e32730d6e6266f1175 U dan -Z 309e7dae9990d8d0bb0ac224fef52616 +Z d890b0290cb03fc4b57662bf241ecd9a diff --git a/manifest.uuid b/manifest.uuid index f9705c3603..094f107087 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3291b2a6fe6f38ae91b933e5cd2bf7d97432374b4fb1fccd92b4bd759b02ee06 \ No newline at end of file +ff3b011f17f4f02e486f3c8de607f62eddf3b86562e2df82dba57ea166994b65 \ No newline at end of file