diff options
author | drh <drh@noemail.net> | 2015-09-24 14:26:51 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-09-24 14:26:51 +0000 |
commit | 9ec0efd946b8015f8b3ba3b726bc39f0b15d306c (patch) | |
tree | b4764dfa9ca1b2d064f80f3d13056f2b5bbeba61 /src/btree.c | |
parent | 438b881540c83370029c73c8a1d7eba78979c491 (diff) | |
parent | 22c733da644bcf8d614b7caf058c7a2b51286ab8 (diff) | |
download | sqlite-9ec0efd946b8015f8b3ba3b726bc39f0b15d306c.tar.gz sqlite-9ec0efd946b8015f8b3ba3b726bc39f0b15d306c.zip |
Merge all the latest trunk enhancements into the sessions branch.
FossilOrigin-Name: c91065f8edb1e54076791716fc20d3fcfe3070dc
Diffstat (limited to 'src/btree.c')
-rw-r--r-- | src/btree.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/btree.c b/src/btree.c index 6e019aebd..c7d6fabba 100644 --- a/src/btree.c +++ b/src/btree.c @@ -8186,7 +8186,8 @@ int sqlite3BtreeDelete(BtCursor *pCur, int bPreserve){ if( rc==SQLITE_OK ){ if( bSkipnext ){ assert( bPreserve && pCur->iPage==iCellDepth ); - assert( pPage->nCell>0 && iCellIdx<=pPage->nCell ); + assert( pPage==pCur->apPage[pCur->iPage] ); + assert( (pPage->nCell>0 || CORRUPT_DB) && iCellIdx<=pPage->nCell ); pCur->eState = CURSOR_SKIPNEXT; if( iCellIdx>=pPage->nCell ){ pCur->skipNext = -1; @@ -8921,6 +8922,10 @@ static void checkList( #endif iPage = get4byte(pOvflData); sqlite3PagerUnref(pOvflPage); + + if( isFreeList && N<(iPage!=0) ){ + checkAppendMsg(pCheck, "free-page count in header is too small"); + } } } #endif /* SQLITE_OMIT_INTEGRITY_CHECK */ |