1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Fix an instance of an undefined behaviour (a left-shift of a 64-bit unsigned integer by a value greater than 64) that could occur in fts3.

FossilOrigin-Name: e1f12978b53683114ab0ef0e84a14dd4fabc72750b214aac19cd9da22a582a27
This commit is contained in:
dan
2020-01-07 09:06:43 +00:00
parent cbae3f8c7d
commit 262efe4a43
4 changed files with 24 additions and 10 deletions

View File

@ -561,6 +561,7 @@ do_test 4.3 {
}]
} {64}
#-------------------------------------------------------------------------
# Request a snippet from a query with more than 64 phrases.
#
@ -587,5 +588,18 @@ do_execsql_test 5.1 {
{[a70] [a71] [a72]}
}
#-------------------------------------------------------------------------
# Request a snippet from a query with more than 64 phrases.
#
reset_db
do_execsql_test 6.0 {
CREATE VIRTUAL TABLE f USING fts3(b);
INSERT INTO f VALUES ( x'746e6e6d64612e082a011065616e656d655a616c702a2f65732e0f42014001380230018218');
}
do_execsql_test 6.1 {
SELECT length(snippet(f))>0 FROM f WHERE b MATCH x'1065616e656d655a616c702a2f65732e0f42014001380230018218021001081e0a3d746e6e6d64612e082a010f42014001380230018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c702a2f65732e0f42014001380230018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c702a2f65732e0f42014001380230018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c702a2f0a3d746e6e6d64612e082a011065616e656d655a616c702a2f65732e0f42014001018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c702a018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c2a2f65732e0f42014001380230018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c702a2f65732e0f42014001380230018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c702a2f65732e0f42014001380230018218021001081e0a3d746e6e6d64612e082a011065616e656d655a616c702a2f65732e0f42014001380230018218021001081e0a3d746e6e6d64612e0f42';
} {1}
set sqlite_fts3_enable_parentheses 0
finish_test