]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a segfault caused by running "column LIKE NULL" against an fts5 table using the...
authordan <dan@noemail.net>
Sat, 3 Oct 2020 17:06:02 +0000 (17:06 +0000)
committerdan <dan@noemail.net>
Sat, 3 Oct 2020 17:06:02 +0000 (17:06 +0000)
FossilOrigin-Name: 6e72a08de764077f2bba6f7e3b99ea29001941671a971f2ccf7ceeb9c682fb1a

ext/fts5/fts5_main.c
ext/fts5/test/fts5trigram.test
manifest
manifest.uuid

index b1163a4d16257c3cc8486bbde73d40ed829d8cbf..3bca7d44325df32e8c486d408f0b09ad2badca93 100644 (file)
@@ -1270,7 +1270,9 @@ static int fts5FilterMethod(
           iCol = iCol*10 + (idxStr[iIdxStr]-'0');
           iIdxStr++;
         }while( idxStr[iIdxStr]>='0' && idxStr[iIdxStr]<='9' );
-        rc = sqlite3Fts5ExprPattern(pConfig, iCol, zText, &pExpr);
+        if( zText ){
+          rc = sqlite3Fts5ExprPattern(pConfig, iCol, zText, &pExpr);
+        }
         if( rc==SQLITE_OK ){
           rc = sqlite3Fts5ExprAnd(&pCsr->pExpr, pExpr);
           pExpr = 0;
index b5b6d2acf38302b97dad3aecc14bb4b600061160..fed5745d16bc456fabe383d79e13879d4dee2f1c 100644 (file)
@@ -117,6 +117,10 @@ foreach {tn like res} {
   } $res
 }
 
+do_execsql_test 2.3.null.1 {
+  SELECT rowid FROM t1 WHERE y LIKE NULL
+}
+
 #-------------------------------------------------------------------------
 reset_db
 do_catchsql_test 3.1 {
index a592722f16eca9cf0523219b308f693b14be2012..106f4db447d85feb100833ca983e8f73e6758e91 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C FTS5\sdoes\snot\shandle\stokens\sthat\scontain\sembedded\snul\scharacters.\sPrevent\sthe\strigram\stokenizer\sfrom\sreturning\ssuch\stokens.\sFix\sfor\s[2ba5930b2].
-D 2020-10-03T14:36:06.096
+C Fix\sa\ssegfault\scaused\sby\srunning\s"column\sLIKE\sNULL"\sagainst\san\sfts5\stable\susing\sthe\strigram\stokenizer.\sFix\sfor\s[e33ee62575fc22].
+D 2020-10-03T17:06:02.256
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -119,7 +119,7 @@ F ext/fts5/fts5_config.c be54f44fca491e96c6923a4b9a736f2da2b13811600eb6e38d1bcc9
 F ext/fts5/fts5_expr.c 7eba8fed2a8f154413814f63c21b34d7562b7d80a62614b9301a5ba6a700f4f0
 F ext/fts5/fts5_hash.c 15bffa734fbdca013b2289c6f8827a3b935ef14bd4dde5837d31a75434c00627
 F ext/fts5/fts5_index.c 255d3ce3fec28be11c533451e5b23bd79e71a13a1b120f3658b34fff6b097816
-F ext/fts5/fts5_main.c 65c5d579cabaecab478f4bd159ad5c040590f6a75e5afd4ad43c8b92ac65f7f2
+F ext/fts5/fts5_main.c 8b99e0ba99fd3414566b3afa26f891b53349db801f4b0bea69eec05cc00487d5
 F ext/fts5/fts5_storage.c 58ba71e6cd3d43a5735815e7956ee167babb4d2cbfe206905174792af4d09d75
 F ext/fts5/fts5_tcl.c 39bcbae507f594aad778172fa914cad0f585bf92fd3b078c686e249282db0d95
 F ext/fts5/fts5_test_mi.c 08c11ec968148d4cb4119d96d819f8c1f329812c568bac3684f5464be177d3ee
@@ -217,7 +217,7 @@ F ext/fts5/test/fts5synonym2.test b54cce5c34ec08ed616f646635538ae82e34a0e28f947e
 F ext/fts5/test/fts5tok1.test ce6551e41ff56f30b69963577324624733bed0d1753589f06120d664d9cd45c9
 F ext/fts5/test/fts5tok2.test dcacb32d4a2a3f0dd3215d4a3987f78ae4be21a2
 F ext/fts5/test/fts5tokenizer.test ac3c9112b263a639fb0508ae73a3ee886bf4866d2153771a8e8a20c721305a43
-F ext/fts5/test/fts5trigram.test 29d13f2293899c8a9db216af55f6bf0df520459ea2952df1b7866302ef0d0dea
+F ext/fts5/test/fts5trigram.test d96062318c184ad74185c29aac95fe60a10a3d93d63d17b09c45d27672e3236a
 F ext/fts5/test/fts5umlaut.test a42fe2fe6387c40c49ab27ccbd070e1ae38e07f38d05926482cc0bccac9ad602
 F ext/fts5/test/fts5unicode.test 17056f4efe6b0a5d4f41fdf7a7dc9af2873004562eaa899d40633b93dc95f5a9
 F ext/fts5/test/fts5unicode2.test 9b3df486de05fb4bde4aa7ee8de2e6dae1df6eb90e3f2e242c9383b95d314e3e
@@ -1882,7 +1882,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 dd009cd7aec3598e930806907601f4f0f9b0021ea99fa6c5e29e88f1246066ed
-R 9c7acf6623596414564a0020768bc2dc
+P b1d048748c054575425a4bebf0c5d09962f9329d5ce6a978cf54e508b238584c
+R db843e476d987749b38011a60ced2e8f
 U dan
-Z 46788d8d61b39b3ddef723b54e3710a9
+Z e0d69439135a8be7c73786eba62b7f8d
index eb2c30100f4731192262645668c7b9a5ddf2f6e2..c3311581f9eadba1a694092c1f9457c853eca54a 100644 (file)
@@ -1 +1 @@
-b1d048748c054575425a4bebf0c5d09962f9329d5ce6a978cf54e508b238584c
\ No newline at end of file
+6e72a08de764077f2bba6f7e3b99ea29001941671a971f2ccf7ceeb9c682fb1a
\ No newline at end of file