diff options
author | dan <dan@noemail.net> | 2019-02-28 13:41:35 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2019-02-28 13:41:35 +0000 |
commit | 95fdb63b7f70d339a602f456b87cb207006af2f5 (patch) | |
tree | 3a7c709850abc57f9691e8a9951edc499fd0f6f0 /ext/fts3/fts3_snippet.c | |
parent | 45616c7f7539fcb60547ae95b06dd4fd421ff453 (diff) | |
download | sqlite-95fdb63b7f70d339a602f456b87cb207006af2f5.tar.gz sqlite-95fdb63b7f70d339a602f456b87cb207006af2f5.zip |
Avoid an assert() failure and an undefined left-shift operation in the fts3 snippet() function that could occur if the database was corrupt.
FossilOrigin-Name: d5250db6322103326f0d5782ba049996d9ce8784f9e53a3112fb6f09f888f1c3
Diffstat (limited to 'ext/fts3/fts3_snippet.c')
-rw-r--r-- | ext/fts3/fts3_snippet.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/fts3/fts3_snippet.c b/ext/fts3/fts3_snippet.c index 58a71d2dd..1a04b7192 100644 --- a/ext/fts3/fts3_snippet.c +++ b/ext/fts3/fts3_snippet.c @@ -429,7 +429,7 @@ static void fts3SnippetDetails( char *pCsr = pPhrase->pTail; int iCsr = pPhrase->iTail; - while( iCsr<(iStart+pIter->nSnippet) ){ + while( iCsr<(iStart+pIter->nSnippet) && iCsr>=iStart ){ int j; u64 mPhrase = (u64)1 << i; u64 mPos = (u64)1 << (iCsr - iStart); |