From: drh Date: Sun, 20 Sep 2015 22:57:47 +0000 (+0000) Subject: Fix an overly-strict assert() in the btree logic. X-Git-Tag: version-3.9.0~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78ac109c7f7946dd0ac1e67a11cb577210cb2d34;p=thirdparty%2Fsqlite.git Fix an overly-strict assert() in the btree logic. FossilOrigin-Name: 825ce3201df21c6b9d5c57dcc6726c306df05220 --- diff --git a/manifest b/manifest index a9717c8cde..659721948a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Do\snot\sallow\stable-valued\sfunction\ssyntax\sto\sbe\sused\son\sa\sview. -D 2015-09-19T20:27:08.425 +C Fix\san\soverly-strict\sassert()\sin\sthe\sbtree\slogic. +D 2015-09-20T22:57:47.045 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2047811644c5bac91ccdfc2720e49b60965a63a7 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -282,7 +282,7 @@ F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240 F src/backup.c 4d9134dc988a87838c06056c89c0e8c4700a0452 F src/bitvec.c d1f21d7d91690747881f03940584f4cc548c9d3d F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79 -F src/btree.c 0dc030ce71f62d6ec8305c660b432d8b4a7f2ae5 +F src/btree.c 164583151135a3764672c2c25aa8e4fa06bdb12b F src/btree.h 40189aefdc2b830d25c8b58fd7d56538481bfdd7 F src/btreeInt.h 8177c9ab90d772d6d2c6c517e05bed774b7c92c0 F src/build.c 8a86f4203ac8a9ac0734f242a96f043edffb6018 @@ -1387,7 +1387,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 0b04374449c8279ad038def7c18cd74f180a0515 -R dcc2e297f6f735858cfc1dccdf44c182 +P 97cfe346e140e42a604375551f8168276bdbea11 +R e5931d5a57c10bca565f8c3b4aa29af4 U drh -Z 508cc03a4319db6f58dd52d6ddeb8415 +Z 432e10bd3b5a58fe33b21908c7a72458 diff --git a/manifest.uuid b/manifest.uuid index f456320197..238fad3e65 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -97cfe346e140e42a604375551f8168276bdbea11 \ No newline at end of file +825ce3201df21c6b9d5c57dcc6726c306df05220 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 08233e4769..c7d6fabba6 100644 --- a/src/btree.c +++ b/src/btree.c @@ -8186,7 +8186,8 @@ int sqlite3BtreeDelete(BtCursor *pCur, int bPreserve){ if( rc==SQLITE_OK ){ if( bSkipnext ){ assert( bPreserve && pCur->iPage==iCellDepth ); - assert( pPage->nCell>0 && iCellIdx<=pPage->nCell ); + assert( pPage==pCur->apPage[pCur->iPage] ); + assert( (pPage->nCell>0 || CORRUPT_DB) && iCellIdx<=pPage->nCell ); pCur->eState = CURSOR_SKIPNEXT; if( iCellIdx>=pPage->nCell ){ pCur->skipNext = -1;