From: drh Date: Wed, 22 Jul 2020 17:12:59 +0000 (+0000) Subject: All TCL tests now passing. X-Git-Tag: version-3.33.0~36^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=584e8b76303ff2146c5eb831ace29993f00ef510;p=thirdparty%2Fsqlite.git All TCL tests now passing. FossilOrigin-Name: 4c5f3c6cacf84a36d0347790d98d82d1f584cd1537a13a2736348405c4d20367 --- diff --git a/manifest b/manifest index 90d6ba6c1f..b8892c1ce2 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ B d2aac001204621062e6cb3230ce2ac1b4545cb83b3ebb6bfebccee4d51162e97 -C Most\stest\scases\snow\spassing. -D 2020-07-22T13:56:14.497 +C All\sTCL\stests\snow\spassing. +D 2020-07-22T17:12:59.996 F src/analyze.c 5cffff3d355858cd22bfc6e20ac7203510d2e1cc935086eb06f4abb2f579f628 -F src/btree.c 7c8eec7364491b07481cdce83c42a00adbfd8a1c4c3af85351cd37f666946711 -F src/btree.h 7d4384cfa8cb7b7c389ae7572e8c1815eaf6a628bc8799b9cb6d9073bfbd7a47 +F src/btree.c a4720f51945a86379ecd962a715d6fe9de08651a67d1e6f7b4884612da83ceb5 +F src/btree.h 7af72bbb4863c331c8f6753277ab40ee67d2a2125a63256d5c25489722ec162b F src/btreeInt.h 83166f6daeb91062b6ae9ee6247b3ad07e40eba58f3c05ba9e8dedad4ab1ea38 F src/build.c f2b73fbb2197fb6e6a35ff2e1750085f023dc50542185f1a2dfccd632223eb14 F src/pager.c a5f65ff2cd73b8d381cc7b338cac382ca6978d578fa0b84fdaa11d3cdc3c3e18 @@ -16,8 +16,9 @@ F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1 F src/vdbeInt.h 762abffb7709f19c2cb74af1bba73a900f762e64f80d69c31c9ae89ed1066b60 F src/vdbeaux.c 1cbbbffdb874c6f3e7aab40f3deb48abac4a71df1043cd95bb0d652d4e053871 F src/wherecode.c 8064fe5c042824853a9b1fda670054a51a49033a6c79059988c97751ccf8088e +F test/corrupt3.test 2520432b1fbf99994841e69804a3c59fb828183f4d09b85a1631bc7adca17e31 F tool/showdb.c 49e810f5c414c792b5bf38cd5557ca9639713ebfef32aaff32faf7cb7ccce513 -P 9ce1710aad43cebe5ad50859c7685fb83e40cdd4a60913bd2b7e659bc59942fd -R 131dcd31c10e2d0c86f59a78d43a769c +P 92e2ab38930c76811dbf5abfe6b9ea9e12562a4bb4bb06cdb0cf49ac30da0bc3 +R 9a8fcc1aa7a1542100ce070d51449c82 U drh -Z 57a23f03358379397973499ea0b801f6 +Z 823bbfd3b3d1b49671a3ec5ee70353b6 diff --git a/manifest.uuid b/manifest.uuid index 42b513ba4e..d61058e2b5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -92e2ab38930c76811dbf5abfe6b9ea9e12562a4bb4bb06cdb0cf49ac30da0bc3 \ No newline at end of file +4c5f3c6cacf84a36d0347790d98d82d1f584cd1537a13a2736348405c4d20367 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index f0c623b46f..77eb7a7887 100644 --- a/src/btree.c +++ b/src/btree.c @@ -2139,12 +2139,11 @@ static MemPage *btreePageLookup(BtShared *pBt, Pgno pgno){ ** error, return ((unsigned int)-1). */ static Pgno btreePagecount(BtShared *pBt){ - assert( (pBt->nPage & 0x80000000)==0 || CORRUPT_DB ); return pBt->nPage; } -u32 sqlite3BtreeLastPage(Btree *p){ +Pgno sqlite3BtreeLastPage(Btree *p){ assert( sqlite3BtreeHoldsMutex(p) ); - return btreePagecount(p->pBt) & 0x7fffffff; + return btreePagecount(p->pBt); } /* @@ -4836,7 +4835,7 @@ static int accessPayload( Pgno nextPage; nextPage = get4byte(&aPayload[pCur->info.nLocal]); - + /* If the BtCursor.aOverflow[] has not been allocated, allocate it now. ** ** The aOverflow[] array is sized at one entry for each overflow page @@ -4875,6 +4874,7 @@ static int accessPayload( assert( rc==SQLITE_OK && amt>0 ); while( nextPage ){ /* If required, populate the overflow page-list cache. */ + if( nextPage > pBt->nPage ) return SQLITE_CORRUPT_BKPT; assert( pCur->aOverflow[iIdx]==0 || pCur->aOverflow[iIdx]==nextPage || CORRUPT_DB ); diff --git a/src/btree.h b/src/btree.h index c774ae32ab..5dd5287d18 100644 --- a/src/btree.h +++ b/src/btree.h @@ -72,7 +72,7 @@ int sqlite3BtreeSetPagerFlags(Btree*,unsigned); int sqlite3BtreeSetPageSize(Btree *p, int nPagesize, int nReserve, int eFix); int sqlite3BtreeGetPageSize(Btree*); Pgno sqlite3BtreeMaxPageCount(Btree*,Pgno); -u32 sqlite3BtreeLastPage(Btree*); +Pgno sqlite3BtreeLastPage(Btree*); int sqlite3BtreeSecureDelete(Btree*,int); int sqlite3BtreeGetRequestedReserve(Btree*); int sqlite3BtreeGetReserveNoMutex(Btree *p); diff --git a/test/corrupt3.test b/test/corrupt3.test index 3c911dadb6..7a2e174ead 100644 --- a/test/corrupt3.test +++ b/test/corrupt3.test @@ -94,7 +94,7 @@ do_test corrupt3-1.9 { catchsql { SELECT substr(x,1,10) FROM t1 } -} [list 0 0123456789] +} [list 1 {database disk image is malformed}] do_test corrupt3-1.10 { catchsql { PRAGMA integrity_check