]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change FTS3 to detect when the RHS of the MATCH opertor encounters an OOM
authordrh <drh@noemail.net>
Sat, 28 Nov 2009 17:23:47 +0000 (17:23 +0000)
committerdrh <drh@noemail.net>
Sat, 28 Nov 2009 17:23:47 +0000 (17:23 +0000)
during string format conversion and report back an SQLITE_NOMEM error.

FossilOrigin-Name: 31eed4f8f95f0799d634eccbd9e09cb58172d250

ext/fts3/fts3.c
manifest
manifest.uuid

index a749b7fa9d8bea51e8ab000463acb8f8b253e2d3..4b711e474ff2614b5f733b3311a8e2bac8b4eba8 100644 (file)
@@ -1835,6 +1835,9 @@ static int fts3FilterMethod(
     int iCol = idxNum-FTS3_FULLTEXT_SEARCH;
     const char *zQuery = (const char *)sqlite3_value_text(apVal[0]);
 
+    if( zQuery==0 && sqlite3_value_type(apVal[0])!=SQLITE_NULL ){
+      return SQLITE_NOMEM;
+    }
     rc = sqlite3Fts3PendingTermsFlush(p);
     if( rc!=SQLITE_OK ) return rc;
 
index c671ed4326bc302f42107f7809c4c9bdd76c8c55..80cd2eb3d3bc1e45ea8a7df330becbb62d9ebd8b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Remove\sall\sbenign\sOOM\sfailure\sopportunities\sfrom\sthe\sFTS3\shash\stable\nimplementation.\s\sAll\sOOM\sfaults\scause\sSQLITE_NOMEM\sto\sbe\sreturned.
-D 2009-11-28T17:07:42
+C Change\sFTS3\sto\sdetect\swhen\sthe\sRHS\sof\sthe\sMATCH\sopertor\sencounters\san\sOOM\nduring\sstring\sformat\sconversion\sand\sreport\sback\san\sSQLITE_NOMEM\serror.
+D 2009-11-28T17:23:48
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -59,7 +59,7 @@ F ext/fts2/mkfts2amal.tcl 974d5d438cb3f7c4a652639262f82418c1e4cff0
 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
 F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9
 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
-F ext/fts3/fts3.c 591a84934108c7838f31bd0379fd2ac9f5b6c2ef
+F ext/fts3/fts3.c 8e966349c954cea27d8acf468d77c0d113c52449
 F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
 F ext/fts3/fts3Int.h 74b21db1c4479c220e803ecf45a78de3b5ac9480
 F ext/fts3/fts3_expr.c bdf11f3602f62f36f0e42823680bf22033dae0de
@@ -778,14 +778,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P a9cba7ea0a06efa7a63a3069b219cc30fb127e98
-R cd76edcc3f7664765b0f468b4b373929
+P 80754d383a0e890ea3f315dab941b9f166481ddd
+R c701b62bb7bcebeb3cce64991b77dc95
 U drh
-Z 7d405c7b8c5c56c13626b9241d44be94
+Z 79bd1c9ce18f056385942b4e2103a96e
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFLEVjhoxKgR168RlERArsFAJ9pg2grGcuObpwcFueNc37gYB76zACfcd7l
-Q3Z8+jEElhbCe4PM9MrJP58=
-=MGIf
+iD8DBQFLEVynoxKgR168RlERAmNeAKCFnXvJIGrlx8Xq9FMVpghKHSc6IwCfWSxQ
+fDg8QqRtiYK559S5hJk0sTo=
+=pBpa
 -----END PGP SIGNATURE-----
index c93485b4737b0c818556367ea7af8b2cbe9d9981..6aaa5c186724219c9410bd90d1e172a032a0a21c 100644 (file)
@@ -1 +1 @@
-80754d383a0e890ea3f315dab941b9f166481ddd
\ No newline at end of file
+31eed4f8f95f0799d634eccbd9e09cb58172d250
\ No newline at end of file