1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Do not allow an SQLITE_CORRUPT error to mask a prior SQLITE_IOERR in

balance_nonroot().  dbsqlfuzz 5e1c86e7f18023f2b9abe3429977d7ea726f50d8

FossilOrigin-Name: 50e818767e423991b99b3155cb15a0d1c1b744ab6139a8273f9348aab9a53d9c
This commit is contained in:
drh
2021-06-20 22:17:49 +00:00
parent 5d8ade1f67
commit 41d26396bb
3 changed files with 10 additions and 8 deletions

View File

@@ -8081,7 +8081,9 @@ static int balance_nonroot(
apOld[i] = 0;
rc = sqlite3PagerWrite(pNew->pDbPage);
nNew++;
if( sqlite3PagerPageRefcount(pNew->pDbPage)!=1+(i==(iParentIdx-nxDiv)) ){
if( sqlite3PagerPageRefcount(pNew->pDbPage)!=1+(i==(iParentIdx-nxDiv))
&& rc==SQLITE_OK
){
rc = SQLITE_CORRUPT_BKPT;
}
if( rc ) goto balance_cleanup;