Overview
| Comment: | Fix a null pointer deference that can occur on a strange matchinfo() query. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
a4dd148928ea65bd4e1654dfacc3d805 |
| User & Date: | drh on 2020-05-14 23:59:24.284 |
| Other Links: | manifest | tags |
Context
|
2020-05-15
| ||
| 01:02 | Add the SQLITE_ENABLE_FTS3_PARENTHESIS option to fuzzcheck. Add a new test case that uses that option. (check-in: c49a33db95 user: drh tags: trunk) | |
|
2020-05-14
| ||
| 23:59 | Fix a null pointer deference that can occur on a strange matchinfo() query. (check-in: a4dd148928 user: drh tags: trunk) | |
| 21:16 | Do not allow a virtual table to be renamed into the name of one of its shadows. (check-in: eca0ba2cf4 user: drh tags: trunk) | |
Changes
Modified ext/fts3/fts3_snippet.c
from [052b35ad74]
to [86e7e947a1].
| ︙ | ︙ | |||
872 873 874 875 876 877 878 |
assert( p->flag==FTS3_MATCHINFO_LHITS_BM || p->flag==FTS3_MATCHINFO_LHITS );
if( p->flag==FTS3_MATCHINFO_LHITS ){
iStart = pExpr->iPhrase * p->nCol;
}else{
iStart = pExpr->iPhrase * ((p->nCol + 31) / 32);
}
| | | 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 |
assert( p->flag==FTS3_MATCHINFO_LHITS_BM || p->flag==FTS3_MATCHINFO_LHITS );
if( p->flag==FTS3_MATCHINFO_LHITS ){
iStart = pExpr->iPhrase * p->nCol;
}else{
iStart = pExpr->iPhrase * ((p->nCol + 31) / 32);
}
if( pIter ) while( 1 ){
int nHit = fts3ColumnlistCount(&pIter);
if( (pPhrase->iColumn>=pTab->nColumn || pPhrase->iColumn==iCol) ){
if( p->flag==FTS3_MATCHINFO_LHITS ){
p->aMatchinfo[iStart + iCol] = (u32)nHit;
}else if( nHit ){
p->aMatchinfo[iStart + (iCol+1)/32] |= (1 << (iCol&0x1F));
}
|
| ︙ | ︙ |
Added test/fts3matchinfo2.test version [00144e8417].