-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
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
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
/* 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;
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;
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;