]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an overly-strict assert() in the btree logic.
authordrh <drh@noemail.net>
Sun, 20 Sep 2015 22:57:47 +0000 (22:57 +0000)
committerdrh <drh@noemail.net>
Sun, 20 Sep 2015 22:57:47 +0000 (22:57 +0000)
FossilOrigin-Name: 825ce3201df21c6b9d5c57dcc6726c306df05220

manifest
manifest.uuid
src/btree.c

index a9717c8cde86940ecfee7a4d4f68904c5ccf2d3e..659721948a52ee8d113cab3ebfd240d6f6bbfa79 100644 (file)
--- 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
index f4563201976a44c451e050099b947febfc2a3a6c..238fad3e650a2cd8fe17da9b818c23ba9fdc2db4 100644 (file)
@@ -1 +1 @@
-97cfe346e140e42a604375551f8168276bdbea11
\ No newline at end of file
+825ce3201df21c6b9d5c57dcc6726c306df05220
\ No newline at end of file
index 08233e4769bd1c6a0350cbba2e2a493296a7926d..c7d6fabba64ace6ec90b12cf2245adbc50fb35ed 100644 (file)
@@ -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;