mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Fix a problem in btree.c that could cause a crash following an OOM.
FossilOrigin-Name: b724aa5889f2e09cf0cbef133a672e6486755104
This commit is contained in:
11
src/btree.c
11
src/btree.c
@@ -2596,12 +2596,13 @@ static int btreeSwapOutMmap(BtShared *pBt){
|
||||
if( pPg && pPg->pDbPage->flags & PGHDR_MMAP ){
|
||||
MemPage *pNew = 0;
|
||||
rc = getAndInitPage(pBt, pPg->pgno, &pNew, 0);
|
||||
if( rc==SQLITE_OK && pCsr->iPage==0 ){
|
||||
pCsr->info.pCell = pNew->aData + (pCsr->info.pCell - pPg->aData);
|
||||
if( rc==SQLITE_OK ){
|
||||
if( pCsr->iPage==0 ){
|
||||
pCsr->info.pCell = pNew->aData + (pCsr->info.pCell - pPg->aData);
|
||||
}
|
||||
pCsr->apPage[0] = pNew;
|
||||
releasePage(pPg);
|
||||
}
|
||||
pCsr->apPage[0] = pNew;
|
||||
releasePage(pPg);
|
||||
if( rc!=SQLITE_OK ) return rc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user