1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Remove a NEVER() that is reachable by a corrupt database.

dbsqlfuzz 8456a0f88e39a49fb675d8f77394979ebb2a03c1.  Test case in TH3.

FossilOrigin-Name: 1c41e86fa102ec2b73fb7a55357ba6328fda37af316215e8808be88e2d1fd75f
This commit is contained in:
drh
2021-06-20 22:49:26 +00:00
parent 41d26396bb
commit b915418134
3 changed files with 8 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
C Do\snot\sallow\san\sSQLITE_CORRUPT\serror\sto\smask\sa\sprior\sSQLITE_IOERR\sin\nbalance_nonroot().\s\sdbsqlfuzz\s5e1c86e7f18023f2b9abe3429977d7ea726f50d8 C Remove\sa\sNEVER()\sthat\sis\sreachable\sby\sa\scorrupt\sdatabase.\ndbsqlfuzz\s8456a0f88e39a49fb675d8f77394979ebb2a03c1.\s\sTest\scase\sin\sTH3.
D 2021-06-20T22:17:49.519 D 2021-06-20T22:49:26.003
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -485,7 +485,7 @@ F src/auth.c 08954fdc4cc2da5264ba5b75cfd90b67a6fc7d1710a02ccf917c38eadec77853
F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d
F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33 F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6 F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
F src/btree.c df7f1f926d7a5aa7687f93f63eddf8dfc2c4156cb4d6dfb3fd00c54180446198 F src/btree.c 8bb85e524ba7f8bce294deedaf8f86582a5ae72f1fe2fd33ca18dfdaa876b9db
F src/btree.h ace9c1c243612bb95c32d848e3f9e159340c2caefcb68412b441569f56328f65 F src/btree.h ace9c1c243612bb95c32d848e3f9e159340c2caefcb68412b441569f56328f65
F src/btreeInt.h 7bc15a24a02662409ebcd6aeaa1065522d14b7fda71573a2b0568b458f514ae0 F src/btreeInt.h 7bc15a24a02662409ebcd6aeaa1065522d14b7fda71573a2b0568b458f514ae0
F src/build.c ea28944f65b04f771e7aa5d614d406faa1bde5fe4ce882e2ead73049f03ed568 F src/build.c ea28944f65b04f771e7aa5d614d406faa1bde5fe4ce882e2ead73049f03ed568
@@ -1918,7 +1918,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 70d1836474207fa045ff7aa513839c9df26ea6e180eb898b30d89bd5b3833f58 P 50e818767e423991b99b3155cb15a0d1c1b744ab6139a8273f9348aab9a53d9c
R 177db51702586a2991feeee2ddea1f57 R 31a2e489dd9012401c2a06d6d5b87f8d
U drh U drh
Z e0ef153a9222b50c9eeb03894347cc76 Z 05cc657cd536aa29caf5c5f5c0efa654

View File

@@ -1 +1 @@
50e818767e423991b99b3155cb15a0d1c1b744ab6139a8273f9348aab9a53d9c 1c41e86fa102ec2b73fb7a55357ba6328fda37af316215e8808be88e2d1fd75f

View File

@@ -1682,7 +1682,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){
int g2; int g2;
assert( pSpace+nByte<=data+pPage->pBt->usableSize ); assert( pSpace+nByte<=data+pPage->pBt->usableSize );
*pIdx = g2 = (int)(pSpace-data); *pIdx = g2 = (int)(pSpace-data);
if( NEVER(g2<=gap) ){ if( g2<=gap ){
return SQLITE_CORRUPT_PAGE(pPage); return SQLITE_CORRUPT_PAGE(pPage);
}else{ }else{
return SQLITE_OK; return SQLITE_OK;