From: dan Date: Fri, 21 Dec 2018 11:53:43 +0000 (+0000) Subject: Remove an assert() that could fail on a corrupt db from fts3_write.c. X-Git-Tag: version-3.27.0~278 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e1e28ec35c773c5b342d8231ec393e6c243d492a;p=thirdparty%2Fsqlite.git Remove an assert() that could fail on a corrupt db from fts3_write.c. FossilOrigin-Name: 4cdcda408a4edcd2845584ddef64f0efdd2b4cc030afbc05fc2b8b555c69d3f6 --- diff --git a/ext/fts3/fts3_write.c b/ext/fts3/fts3_write.c index 8fc6589121..2a94952c02 100644 --- a/ext/fts3/fts3_write.c +++ b/ext/fts3/fts3_write.c @@ -1608,7 +1608,6 @@ int sqlite3Fts3SegReaderNew( Fts3SegReader *pReader; /* Newly allocated SegReader object */ int nExtra = 0; /* Bytes to allocate segment root node */ - assert( iStartLeaf<=iEndLeaf ); if( iStartLeaf==0 ){ nExtra = nRoot + FTS3_NODE_PADDING; } diff --git a/manifest b/manifest index 3f8bb8997c..c2bc71db3b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Do\snot\sset\sthe\sCursor.seekOp\stest\svariable\sin\sthe\sOP_NotExists\sopcode.\nThis\sis\sa\schange\sto\stest\slogic\sonly\sand\sdoes\snot\saffect\sdeliverable\sbuilds. -D 2018-12-20T22:08:32.035 +C Remove\san\sassert()\sthat\scould\sfail\son\sa\scorrupt\sdb\sfrom\sfts3_write.c. +D 2018-12-21T11:53:43.084 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in d8b254f8bb81bab43c340d70d17dc3babab40fcc8a348c8255881f780a45fee6 @@ -98,7 +98,7 @@ F ext/fts3/fts3_tokenizer.h 64c6ef6c5272c51ebe60fc607a896e84288fcbc3 F ext/fts3/fts3_tokenizer1.c 5c98225a53705e5ee34824087478cf477bdb7004 F ext/fts3/fts3_unicode.c b1902e9ad47a6569fbb8ecb5ce52f20fe59b590d5c5e3bbdd56b10b03bdf632b F ext/fts3/fts3_unicode2.c e49f9e015f239bf5faf2f4fa483bbf1b08a9978f0ad1f31159d952f8b8a10d08 -F ext/fts3/fts3_write.c a85bc4885fde7f1b44c9de013b62f7cd3332dc59e208053d878729b1d04745bc +F ext/fts3/fts3_write.c 02764f12943f2316ae673cad639bb5ddaaf36e0af53bf137bc11facfe51f0437 F ext/fts3/fts3speed.tcl b54caf6a18d38174f1a6e84219950d85e98bb1e9 F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100 F ext/fts3/tool/fts3cov.sh c331d006359456cf6f8f953e37f2b9c7d568f3863f00bb5f7eb87fea4ac01b73 @@ -909,7 +909,7 @@ F test/fts3conf.test c84bbaec81281c1788aa545ac6e78a6bd6cde2bdbbce2da261690e3659f F test/fts3corrupt.test 46b9ddda7f6588fd5a5b1f4bb4fc0618dc45010e7dddb8a3a188baf3197177ae F test/fts3corrupt2.test bf55c3fa0b0dc8ea1c0fe5543623bd27714585da6a129038fd6999fe3b0d25f3 F test/fts3corrupt3.test 0d5b69a0998b4adf868cc301fc78f3d0707745f1d984ce044c205cdb764b491f -F test/fts3corrupt4.test a27259f4f25d60b4eca481d050b3cfee97eddb0d937d38f231408c5239066e11 +F test/fts3corrupt4.test 789d97d9c7886c1c287cf51666061973b6cae04be5168a8d8b8bdc1a3fd20a8a F test/fts3cov.test cb932743da52a1c79a1ab8983e26c8121cf02263d6ff16e1f642e6f9b8348338 F test/fts3d.test 2bd8c97bcb9975f2334147173b4872505b6a41359a4f9068960a36afe07a679f F test/fts3defer.test f4c20e4c7153d20a98ee49ee5f3faef624fefc9a067f8d8d629db380c4d9f1de @@ -1787,7 +1787,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 16fff05347f42fe9fa0f3150290b98b59a9bb921e49dc07ca397aa1de7a7e17d -R d9bb4c5feb369c3acd2a8d4b1a2eedd7 -U drh -Z 8eba997a848796b2caf22daadef39ca2 +P 98f343077887c4d3fc2ca3bbc7f20c80ec37b0e521d70af9c986ab80bb2c7903 +R d2e290908e2c7029dea4b4bef001374e +U dan +Z 4d610740933c2450fa14805bb530381c diff --git a/manifest.uuid b/manifest.uuid index b2d79f36fa..505ccb0b90 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -98f343077887c4d3fc2ca3bbc7f20c80ec37b0e521d70af9c986ab80bb2c7903 \ No newline at end of file +4cdcda408a4edcd2845584ddef64f0efdd2b4cc030afbc05fc2b8b555c69d3f6 \ No newline at end of file diff --git a/test/fts3corrupt4.test b/test/fts3corrupt4.test index 5e9e458134..79077c238b 100644 --- a/test/fts3corrupt4.test +++ b/test/fts3corrupt4.test @@ -145,4 +145,26 @@ do_catchsql_test 3.1 { SELECT * FROM ft WHERE ft MATCH 'abc20' } {1 {database disk image is malformed}} +#------------------------------------------------------------------------- +reset_db +do_execsql_test 4.0 { + CREATE VIRTUAL TABLE t1 USING fts3(); + INSERT INTO t1 VALUES('one two three'); + UPDATE t1_segdir SET start_block = 1; +} + +do_catchsql_test 4.1 { + SELECT * FROM t1 WHERE t1 MATCH 'one'; +} {1 {database disk image is malformed}} +do_catchsql_test 4.2 { + SELECT * FROM t1 WHERE t1 MATCH 'two'; +} {1 {database disk image is malformed}} +do_catchsql_test 4.3 { + SELECT * FROM t1 WHERE t1 MATCH 'three'; +} {1 {database disk image is malformed}} +do_execsql_test 4.4 { + INSERT INTO t1(t1) VALUES('optimize'); +} + + finish_test