Change FTS3 to detect when the RHS of the MATCH opertor encounters an OOM

during string format conversion and report back an SQLITE_NOMEM error.

FossilOrigin-Name: 31eed4f8f95f0799d634eccbd9e09cb58172d250
This commit is contained in:
drh 2009-11-28 17:23:47 +00:00
parent 44c1e5a13c
commit 9287d93c17
3 changed files with 13 additions and 10 deletions

View 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;

View File

@ -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-----

View File

@ -1 +1 @@
80754d383a0e890ea3f315dab941b9f166481ddd
31eed4f8f95f0799d634eccbd9e09cb58172d250