1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-01-06 08:01:16 +03:00

Fix an assert() in fts5 that could fail if the database is corrupt.

FossilOrigin-Name: 55f06aa3f890dc1dc5c2ed0e6777e46d609a6f9d223d1d4b5813097ce4f4e797
This commit is contained in:
dan
2019-02-01 14:40:44 +00:00
parent abd7449478
commit 1c7d389a23
4 changed files with 81 additions and 9 deletions

View File

@@ -5001,7 +5001,7 @@ static void fts5MergePrefixLists(
sqlite3Fts5PoslistNext64(a1, i1.nPoslist, &iOff1, &iPos1);
if( iPos1<0 ) break;
}else{
assert( iPos2!=iPrev );
assert_nc( iPos2!=iPrev );
sqlite3Fts5PoslistSafeAppend(&tmp, &iPrev, iPos2);
sqlite3Fts5PoslistNext64(a2, i2.nPoslist, &iOff2, &iPos2);
if( iPos2<0 ) break;

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
C Fix\sanother\scorrupt-database-handling\sproblem\sin\sfts5.
D 2019-02-01T13:34:00.988
C Fix\san\sassert()\sin\sfts5\sthat\scould\sfail\sif\sthe\sdatabase\sis\scorrupt.
D 2019-02-01T14:40:44.768
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in 178d8eb6840771149cee40b322d1b3be30d330198c522c903c1b66fb5a1bfca4
@@ -115,7 +115,7 @@ F ext/fts5/fts5_buffer.c 2e750cd4c0d456d4e1a8dcc649382708422b535dc32b375fd3d3306
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 9e9607d921d8a988f318b9a7d6d3cf5c6ad0fe8d9ff03bf3a3e92c108b23caba
F ext/fts5/fts5_index.c 7e8e678f243f5b2be59e9543712a5797ff2006547bff5765c3f417fe9bfbf30e
F ext/fts5/fts5_main.c 2395658479bca37d0936d47e6194ef575e5e7235ded47fa93bd9d5bb8035b977
F ext/fts5/fts5_storage.c 57e3f2b1a612961a27c944d6b8821028ec5fdb541d7e6b841785003ac3b0b43a
F ext/fts5/fts5_tcl.c 39bcbae507f594aad778172fa914cad0f585bf92fd3b078c686e249282db0d95
@@ -156,7 +156,7 @@ F ext/fts5/test/fts5connect.test 08030168fc96fc278fa81f28654fb7e90566f33aff269c0
F ext/fts5/test/fts5content.test 688d5ac7af194ebc67495daea76a69e3cd5480122c2320e72d41241b423b4116
F ext/fts5/test/fts5corrupt.test 77ae6f41a7eba10620efb921cf7dbe218b0ef232b04519deb43581cb17a57ebe
F ext/fts5/test/fts5corrupt2.test 7453752ba12ce91690c469a6449d412561cc604b1dec994e16ab132952e7805f
F ext/fts5/test/fts5corrupt3.test 42fbf72c0e014195bdba698abcfe0cdd08bb194d1b86495ed74d77077efd3163
F ext/fts5/test/fts5corrupt3.test 760c93a2cf409a68a983ccd4a4d2aad5acae9c8f2aa4b49c519adaa075df39c7
F ext/fts5/test/fts5delete.test cbf87e3b8867c4d5cfcaed975c7475fd3f99d072bce2075fcedf43d1f82af775
F ext/fts5/test/fts5detail.test 31b240dbf6d44ac3507e2f8b65f29fdc12465ffd531212378c7ce1066766f54e
F ext/fts5/test/fts5determin.test 1b77879b2ae818b5b71c859e534ee334dac088b7cf3ff3bf76a2c82b1c788d11
@@ -1804,7 +1804,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 80151d7e3b9fd84086874a1cebed024b9e14005ea2d0108cf6efcd07373fcf51
R 1a3ed3898bab21d94f592d43aba92154
P 9876ae1b802a449aacbbdd42778653edc19e29315dc627c23ab7493d6492c800
R 37889ca5f23631d6a97887212bc95ece
U dan
Z 04cd55989ead0c3a07d5b8a7807d30ea
Z f38e72163280904b28dc1d9373c8a5e6

View File

@@ -1 +1 @@
9876ae1b802a449aacbbdd42778653edc19e29315dc627c23ab7493d6492c800
55f06aa3f890dc1dc5c2ed0e6777e46d609a6f9d223d1d4b5813097ce4f4e797