]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix harmless compiler warnings in the cell-overwrite logic. cell-overwrite-prototype
authordrh <drh@noemail.net>
Mon, 7 May 2018 11:29:59 +0000 (11:29 +0000)
committerdrh <drh@noemail.net>
Mon, 7 May 2018 11:29:59 +0000 (11:29 +0000)
FossilOrigin-Name: 3e11dc3183bc3e8ec49af244a8e8b3e07d12f7a2e59028b2bf64ce0ab589a91f

manifest
manifest.uuid
src/btree.c

index a19a336799715ec6d2142a1f3f037eee0ca9443e..363640929f2d43582f2cc8266df8bcfb9a2e428a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\senhancements\sfrom\strunk.
-D 2018-05-04T19:18:27.186
+C Fix\sharmless\scompiler\swarnings\sin\sthe\scell-overwrite\slogic.
+D 2018-05-07T11:29:59.385
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in 5ce9343cba9c189046f1afe6d2bcc1f68079439febc05267b98aec6ecc752439
@@ -434,7 +434,7 @@ F src/auth.c 6277d63837357549fe14e723490d6dc1a38768d71c795c5eb5c0f8a99f918f73
 F src/backup.c faf17e60b43233c214aae6a8179d24503a61e83b
 F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
 F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
-F src/btree.c 8faf9ebbecb98f05d75f203fdb2421e47a60f1edef3192af8fc7691cb979895c
+F src/btree.c b4ca692c0c557bba653412a0c3347f0e5c140e759f0d8349383b7de7281ad99e
 F src/btree.h 0866c0a08255142ea0e754aabd211c843cab32045c978a592a43152405ed0c84
 F src/btreeInt.h 620ab4c7235f43572cf3ac2ac8723cbdf68073be4d29da24897c7b77dda5fd96
 F src/build.c 0c2be5839f22aa2938f217c6c6c2120d9fc96872a546a37541a8271541cb355e
@@ -1727,7 +1727,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P f89b54f41405ed7e28132f66b8a0c690a087c2412c8f55790c2beabb0b521645 7fdad122a21e4b01bd678198fd5131dc32febe3af366bd6368505398255f9822
-R df1e682f55c594c022a81ad6cca73208
+P 9650f71b82ca1b3759e776bbd8a2e8ca61c51f80038e37c9c9a675a8c13b0b06
+R 0f12e4904e55641cfcfe9534f6ff08d6
 U drh
-Z 23057790a24d7f2fdd5e77d4df41fcee
+Z eb245c54fb26ccb37327155d2c7d476e
index da787b296240fbb1626123f2cc605558a3afdd60..adb6239ec15b0cec397b149a44a90bf55cf754f0 100644 (file)
@@ -1 +1 @@
-9650f71b82ca1b3759e776bbd8a2e8ca61c51f80038e37c9c9a675a8c13b0b06
\ No newline at end of file
+3e11dc3183bc3e8ec49af244a8e8b3e07d12f7a2e59028b2bf64ce0ab589a91f
\ No newline at end of file
index 9dc91fe982d4c1a9aa36e38ad353b380c600890f..6dcd4353255c5afcaa7b9e26ed1596465cf77d58 100644 (file)
@@ -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+ovflPageSize<nTotal ){
+      if( iOffset+ovflPageSize<(u32)nTotal ){
         ovflPgno = get4byte(pPage->aData);
       }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;