From: drh Date: Tue, 28 Mar 2006 00:24:44 +0000 (+0000) Subject: Extra asserts to prove that certain reported errors in btree.c are not really X-Git-Tag: version-3.6.10~3012 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7aa8f8588b59fe8571247e76d513241feaa55212;p=thirdparty%2Fsqlite.git Extra asserts to prove that certain reported errors in btree.c are not really errors. (CVS 3155) FossilOrigin-Name: c64542d0e8efd6daecb037009474f4448793e4c0 --- diff --git a/manifest b/manifest index 60c7aebf33..edfaaa44c5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Work\saround\sa\sbug\sin\sGCC\s4.0.2.\s(CVS\s3154) -D 2006-03-26T20:49:18 +C Extra\sasserts\sto\sprove\sthat\scertain\sreported\serrors\sin\sbtree.c\sare\snot\sreally\nerrors.\s(CVS\s3155) +D 2006-03-28T00:24:45 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -34,7 +34,7 @@ F src/alter.c 451b34fc4eb2475ca76a2e86b21e1030a9428091 F src/analyze.c 7d2b7ab9a9c2fd6e55700f69064dfdd3e36d7a8a F src/attach.c d73a3505de3fb9e373d0a158978116c4212031d0 F src/auth.c 9ae84d2d94eb96195e04515715e08e85963e96c2 -F src/btree.c 582f0fb985c3dc209d2904639dd2c3c4544ba90e +F src/btree.c 05cff8249bcc1a15e19c6b9ade871844682b8a0f F src/btree.h 40055cfc09defd1146bc5b922399c035f969e56d F src/build.c be0629119df8c1e09050a8fcbf182112f00e3b14 F src/callback.c d8c5ab1cd6f3b7182b2ee63bf53f1b69c0f74306 @@ -355,7 +355,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 80cda9f7ce83f2de6cd2fdaf6150bbc35b670fee -R d92806f8ad5b57a82422a1562ac3eefb +P fe0920c7922bfdbefbc0107fb9170d98bec2dcef +R 444a3e4a4674aa9d8e71f6503c2669c2 U drh -Z cb468a32b49079c6cdf556c3d07ea774 +Z 3c3d6534961b5bfe4745ed9f24024a53 diff --git a/manifest.uuid b/manifest.uuid index a057a4d38f..2058858022 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fe0920c7922bfdbefbc0107fb9170d98bec2dcef \ No newline at end of file +c64542d0e8efd6daecb037009474f4448793e4c0 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 35b3419bf0..d662f6b250 100644 --- a/src/btree.c +++ b/src/btree.c @@ -9,7 +9,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: btree.c,v 1.322 2006/03/23 14:03:00 drh Exp $ +** $Id: btree.c,v 1.323 2006/03/28 00:24:45 drh Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** For a detailed discussion of BTrees, refer to @@ -4825,6 +4825,7 @@ static int balance_nonroot(MemPage *pPage){ rc = sqlite3pager_write(pNew->aData); if( rc ) goto balance_cleanup; }else{ + assert( i>0 ); rc = allocatePage(pBt, &pNew, &pgnoNew[i], pgnoNew[i-1], 0); if( rc ) goto balance_cleanup; apNew[i] = pNew; @@ -4976,6 +4977,8 @@ static int balance_nonroot(MemPage *pPage){ } } assert( j==nCell ); + assert( nOld>0 ); + assert( nNew>0 ); if( (pageFlags & PTF_LEAF)==0 ){ memcpy(&apNew[nNew-1]->aData[8], &apCopy[nOld-1]->aData[8], 4); }