aboutsummaryrefslogtreecommitdiff
path: root/src/btree.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-09-24 14:26:51 +0000
committerdrh <drh@noemail.net>2015-09-24 14:26:51 +0000
commit9ec0efd946b8015f8b3ba3b726bc39f0b15d306c (patch)
treeb4764dfa9ca1b2d064f80f3d13056f2b5bbeba61 /src/btree.c
parent438b881540c83370029c73c8a1d7eba78979c491 (diff)
parent22c733da644bcf8d614b7caf058c7a2b51286ab8 (diff)
downloadsqlite-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.c7
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 */