diff options
Diffstat (limited to 'src/btree.c')
-rw-r--r-- | src/btree.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/btree.c b/src/btree.c index a08ed95d1..6dc92a950 100644 --- a/src/btree.c +++ b/src/btree.c @@ -8774,6 +8774,11 @@ static int balance(BtCursor *pCur){ }else{ break; } + }else if( sqlite3PagerPageRefcount(pPage->pDbPage)>1 ){ + /* The page being written is not a root page, and there is currently + ** more than one reference to it. This only happens if the page is one + ** of its own ancestor pages. Corruption. */ + rc = SQLITE_CORRUPT_BKPT; }else{ MemPage * const pParent = pCur->apPage[iPage-1]; int const iIdx = pCur->aiIdx[iPage-1]; |