From 38b0f08a76387d5c692b434a796274110bff0ad7 Mon Sep 17 00:00:00 2001 From: "D. Richard Hipp" Date: Mon, 7 May 2018 11:29:59 +0000 Subject: [PATCH] Fix harmless compiler warnings in the cell-overwrite logic. --- src/btree.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/btree.c b/src/btree.c index 9dc91fe982..6dcd435325 100644 --- a/src/btree.c +++ b/src/btree.c @@ -8214,6 +8214,8 @@ static int btreeOverwriteCell(BtCursor *pCur, const BtreePayload *pX){ /* Now overwrite the overflow pages */ iOffset = pCur->info.nLocal; + assert( nTotal>=0 ); + assert( iOffset>=0 ); ovflPgno = get4byte(pCur->info.pPayload + iOffset); pBt = pPage->pBt; ovflPageSize = pBt->usableSize - 4; @@ -8223,7 +8225,7 @@ static int btreeOverwriteCell(BtCursor *pCur, const BtreePayload *pX){ if( sqlite3PagerPageRefcount(pPage->pDbPage)!=1 ){ rc = SQLITE_CORRUPT_BKPT; }else{ - if( iOffset+ovflPageSizeaData); }else{ ovflPageSize = nTotal - iOffset; @@ -8338,7 +8340,10 @@ int sqlite3BtreeInsert( if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey==pCur->info.nKey ){ /* The current is currently pointing to the entry that is to be ** overwritten */ - if( pCur->info.nSize!=0 && pCur->info.nPayload==pX->nData+pX->nZero ){ + assert( pX->nData>=0 && pX->nZero>=0 ); + if( pCur->info.nSize!=0 + && pCur->info.nPayload==(u32)pX->nData+pX->nZero + ){ return btreeOverwriteCell(pCur, pX); } loc = 0; -- 2.11.4.GIT