mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on.
FossilOrigin-Name: 91cb08ffb6332a142542c012b58aa49206ee5704
This commit is contained in:
@@ -5449,7 +5449,6 @@ int sqlite3PagerOpenSavepoint(Pager *pPager, int nSavepoint){
|
||||
}
|
||||
memset(&aNew[nCurrent], 0, (nSavepoint-nCurrent) * sizeof(PagerSavepoint));
|
||||
pPager->aSavepoint = aNew;
|
||||
pPager->nSavepoint = nSavepoint;
|
||||
|
||||
/* Populate the PagerSavepoint structures just allocated. */
|
||||
for(ii=nCurrent; ii<nSavepoint; ii++){
|
||||
@@ -5467,7 +5466,9 @@ int sqlite3PagerOpenSavepoint(Pager *pPager, int nSavepoint){
|
||||
if( pagerUseWal(pPager) ){
|
||||
sqlite3WalSavepoint(pPager->pWal, aNew[ii].aWalData);
|
||||
}
|
||||
pPager->nSavepoint = ii+1;
|
||||
}
|
||||
assert( pPager->nSavepoint==nSavepoint );
|
||||
|
||||
/* Open the sub-journal, if it is not already opened. */
|
||||
rc = openSubJournal(pPager);
|
||||
|
Reference in New Issue
Block a user