aboutsummaryrefslogtreecommitdiff
path: root/src/wal.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2010-05-06 15:56:28 +0000
committerdan <dan@noemail.net>2010-05-06 15:56:28 +0000
commitd41a29a653313f97e2360b9a339e43f5fa04da36 (patch)
tree95782c070fb1675e24fc085d3c164200d81427c1 /src/wal.c
parent84aab39782a2c19650962a81efb92269633907ff (diff)
downloadsqlite-d41a29a653313f97e2360b9a339e43f5fa04da36.tar.gz
sqlite-d41a29a653313f97e2360b9a339e43f5fa04da36.zip
Further coverage tests.
FossilOrigin-Name: 98a9713e0030a36ea99a18a12a2e7685c6db72b3
Diffstat (limited to 'src/wal.c')
-rw-r--r--src/wal.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/wal.c b/src/wal.c
index 0eb525f41..4bbf7960c 100644
--- a/src/wal.c
+++ b/src/wal.c
@@ -399,6 +399,7 @@ static int walIndexMap(Wal *pWal, int reqSize){
assert( pWal->szWIndex==0 );
pWal->pWiData = &pWal->iCallback;
}
+ assert( rc==SQLITE_OK || pWal->pWiData==0 );
}
return rc;
}
@@ -1117,12 +1118,13 @@ int sqlite3WalWriteLock(Wal *pWal, int op){
*/
int sqlite3WalUndo(Wal *pWal, int (*xUndo)(void *, Pgno), void *pUndoCtx){
int unused;
- int rc = SQLITE_OK;
+ int rc;
Pgno iMax = pWal->hdr.iLastPg;
Pgno iFrame;
+ assert( pWal->pWiData==0 );
rc = walIndexReadHdr(pWal, &unused);
- for(iFrame=pWal->hdr.iLastPg+1; iFrame<=iMax && rc==SQLITE_OK; iFrame++){
+ for(iFrame=pWal->hdr.iLastPg+1; rc==SQLITE_OK && iFrame<=iMax; iFrame++){
assert( pWal->lockState==SQLITE_SHM_WRITE );
rc = xUndo(pUndoCtx, pWal->pWiData[walIndexEntry(iFrame)]);
}