From a4bb7764fe5af31cd71215d17327aebd0c32417d Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 16 Apr 2015 20:10:17 +0000 Subject: [PATCH] Fix a boundry-value condition in the phrase poslist extractor of FTS3/4. FossilOrigin-Name: 55d10baf0bffdb1a34bf5627ed8f25e4a4efd942 --- ext/fts3/fts3.c | 3 ++- manifest | 12 ++++++------ manifest.uuid | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ext/fts3/fts3.c b/ext/fts3/fts3.c index eab8ad63ad..0555025f1a 100644 --- a/ext/fts3/fts3.c +++ b/ext/fts3/fts3.c @@ -5765,7 +5765,8 @@ int sqlite3Fts3EvalPhrasePoslist( pIter = pPhrase->pOrPoslist; iDocid = pPhrase->iOrDocid; if( pCsr->bDesc==bDescDoclist ){ - bEof = (pIter >= (pPhrase->doclist.aAll + pPhrase->doclist.nAll)); + bEof = !pPhrase->doclist.nAll || + (pIter >= (pPhrase->doclist.aAll + pPhrase->doclist.nAll)); while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)<0 ) && bEof==0 ){ sqlite3Fts3DoclistNext( bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll, diff --git a/manifest b/manifest index fbd6b0739e..e2292c4541 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\ssure\sall\scursors\sare\sclosed\swhen\sreturning\sfrom\sa\sVDBE\ssubprogram\sthat\nimplements\sa\sforeign-key\sconstruct. -D 2015-04-16T18:11:50.067 +C Fix\sa\sboundry-value\scondition\sin\sthe\sphrase\sposlist\sextractor\sof\sFTS3/4. +D 2015-04-16T20:10:17.867 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5f78b1ab81b64e7c57a75d170832443e66c0880a F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -78,7 +78,7 @@ F ext/fts3/README.content fdc666a70d5257a64fee209f97cf89e0e6e32b51 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a F ext/fts3/README.tokenizers e0a8b81383ea60d0334d274fadf305ea14a8c314 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d -F ext/fts3/fts3.c 4bd75289875b63c04f943d6ed7c31737da99cd74 +F ext/fts3/fts3.c cb5019020e1ca8e999beb2a63100563c17def8ae F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe F ext/fts3/fts3Int.h 3626655d6ba903a3919bb44e1c38e5f0f9d6be82 F ext/fts3/fts3_aux.c 5c211e17a64885faeb16b9ba7772f9d5445c2365 @@ -1250,7 +1250,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 647495cf12b656f6a2f028dc1fb459d667153cf2 -R a757fbed701cb5d24ccca7b2844fe222 +P d04d354d8e423961c3091b6ebcfbbbf10d3ecb04 +R 7d25758eea33f4a370736317991c770a U drh -Z 3babb77db24db798d253708de47714ee +Z 4086867d1a0bc88e855064836598b64d diff --git a/manifest.uuid b/manifest.uuid index 3c86d5dfe0..7320463437 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d04d354d8e423961c3091b6ebcfbbbf10d3ecb04 \ No newline at end of file +55d10baf0bffdb1a34bf5627ed8f25e4a4efd942 \ No newline at end of file -- 2.47.2