From: dan Date: Tue, 3 Dec 2013 09:49:52 +0000 (+0000) Subject: Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert... X-Git-Tag: version-3.8.2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=89bc021850216b15e350ac0970bd578465a77837;p=thirdparty%2Fsqlite.git Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer. FossilOrigin-Name: 9d8a0e132163f7adeaabbf6baba119e159addd41 --- diff --git a/manifest b/manifest index 3e498482df..f3c8156695 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Change\ssome\sunreachable\stest\sconditions\sto\sNEVER(). -D 2013-12-03T02:52:11.992 +C Add\sa\s"database_may_be_corrupt"\sdirective\sto\stest\sfile\sfuzz3.test.\sReformat\san\sassert()\sstatement\sin\svdbeaux.c\sto\smake\sits\sintent\sclearer. +D 2013-12-03T09:49:52.308 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in e1a9b4258bbde53f5636f4e238c65b7e11459e2b F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -284,7 +284,7 @@ F src/vdbe.c 54894fde8dc806d259e015ac7c9680145e725835 F src/vdbe.h c06f0813f853566457ce9cfb1a4a4bc39a5da644 F src/vdbeInt.h 05fbda0e061dbc4aaa2709a8cccf3515c245b263 F src/vdbeapi.c 93a22a9ba2abe292d5c2cf304d7eb2e894dde0ed -F src/vdbeaux.c 5b58b242afe50f6bae77da1c1e26330af32e51c7 +F src/vdbeaux.c 09b79d475f5af2b3b5068f639609d88e0ced9d95 F src/vdbeblob.c 8cd05a5630e6d5563ad017bf82edaf812b28acde F src/vdbemem.c fed9357c0b79cd707957c28b144f5bf9d7cc6bfc F src/vdbesort.c 9d83601f9d6243fe70dd0169a2820c5ddfd48147 @@ -581,7 +581,7 @@ F test/func5.test 1435dd313c0bae70d6af089c97a2a997fc5d0e53 F test/fuzz-oss1.test 4912e528ec9cf2f42134456933659d371c9e0d74 F test/fuzz.test 77fd50afc12847af50fcf1941679d90adebadde6 F test/fuzz2.test 207d0f9d06db3eaf47a6b7bfc835b8e2fc397167 -F test/fuzz3.test aec64345184d1662bd30e6a17851ff659d596dc5 +F test/fuzz3.test efd384b896c647b61a2c1848ba70d42aad60a7b3 F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b F test/fuzz_malloc.test 328f70aaca63adf29b4c6f06505ed0cf57ca7c26 F test/fuzzer1.test d4c52aaf3ef923da293a2653cfab33d02f718a36 @@ -1145,7 +1145,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 74328de1d720fb35a97b476034406ca17d35ff5f -R d881184ebe8e40a91ad03d9c9de08f57 -U drh -Z e99c771249b48673bb69ac05e8b183ed +P 7d99858bec699dface548c77649dfc50e7fb50d8 +R 01634e02d76e60e1c382f3065633e24e +U dan +Z 41f50bc12fef31f82fd848dddcf71f30 diff --git a/manifest.uuid b/manifest.uuid index de214931f3..384618d9eb 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7d99858bec699dface548c77649dfc50e7fb50d8 \ No newline at end of file +9d8a0e132163f7adeaabbf6baba119e159addd41 \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 7a672fdf27..5b5d82aed8 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -3114,7 +3114,8 @@ int sqlite3VdbeRecordCompare( d1 = szHdr1; assert( pKeyInfo->nField+pKeyInfo->nXField>=pPKey2->nField || CORRUPT_DB ); assert( pKeyInfo->aSortOrder!=0 ); - assert( (idx1<=szHdr1 && inField) || CORRUPT_DB ); + assert( pKeyInfo->nField>0 ); + assert( idx1<=szHdr1 || CORRUPT_DB ); do{ u32 serial_type1; diff --git a/test/fuzz3.test b/test/fuzz3.test index d0efc5250e..2b21404f43 100644 --- a/test/fuzz3.test +++ b/test/fuzz3.test @@ -18,6 +18,9 @@ set testdir [file dirname $argv0] source $testdir/tester.tcl +# These tests deal with corrupt database files +# +database_may_be_corrupt expr srand(123)