Additional defense against corrupt database files in dbdata.c.

FossilOrigin-Name: 2e70d1e5c9b2c9e068be3ccf8a6062edf7bdde2e46d60ba8ce54eda851af6008
This commit is contained in:
drh 2022-11-09 11:02:39 +00:00
parent 92c0881d9d
commit ea038d3d23
3 changed files with 8 additions and 8 deletions

View File

@ -864,7 +864,7 @@ static int dbdataColumn(
case DBDATA_COLUMN_VALUE: {
if( pCsr->iField<0 ){
sqlite3_result_int64(ctx, pCsr->iIntkey);
}else{
}else if( &pCsr->pRec[pCsr->nRec] >= pCsr->pPtr ){
sqlite3_int64 iType;
dbdataGetVarintU32(pCsr->pHdrPtr, &iType);
dbdataValue(

View File

@ -1,5 +1,5 @@
C Increase\sthe\sprecision\sof\sthe\snData\sparameter\sto\sthe\sdbdataValue()\sroutine\ninside\sthe\ssqlite_dbdata\svirtual\stable,\sto\savoid\sthe\spossibility\sof\sinteger\noverflow.
D 2022-11-09T10:17:25.458
C Additional\sdefense\sagainst\scorrupt\sdatabase\sfiles\sin\sdbdata.c.
D 2022-11-09T11:02:39.285
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -386,7 +386,7 @@ F ext/rbu/rbuvacuum4.test a78898e438a44803eb2bc897ba3323373c9f277418e2d6d76e90f2
F ext/rbu/sqlite3rbu.c c4ba7901b2d3e0c7845f30840e3ffb35c6f999d6da0d80f121866491f982794c
F ext/rbu/sqlite3rbu.h 02d981e2d39c151391759e1a400e29c7388730812957ac3db8dad7f6c9f9cfc8
F ext/rbu/test_rbu.c ee6ede75147bc081fe9bc3931e6b206277418d14d3fbceea6fdc6216d9b47055
F ext/recover/dbdata.c ac61a3fcd8b94ef195c7c9241f7eb1ac6401b4634b5b532a8ffe910c5aaef70d
F ext/recover/dbdata.c 8f1f75d636431de69d7977ec50fc41bfdd0c48c510d5ee7eae0cbd4164e1429a
F ext/recover/recover1.test 02004eb8f9ec2825ba77e24742c18e45162cb21d27e76a3a435b83a759a1131a
F ext/recover/recover_common.tcl a61306c1eb45c0c3fc45652c35b2d4ec19729e340bdf65a272ce4c229cefd85a
F ext/recover/recoverclobber.test 3ba6c0c373c5c63d17e82eced64c05c57ccaf26c1abe1ca7141334022a79f32e
@ -2055,8 +2055,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 77ccc8ea8a901df64feabe08e1210087d060f0bc133242e87a94a71b68b5b5fa
R 545f66eddeec93de8c190e3a826342d9
P 295447b44fc7658891352a9b3f792379b52a76ee5dcfd498b7028f5f87b40e9e
R 851325ef7ac3ed67898936647c7dda82
U drh
Z ccc0668e4034ef7e9d99a59bf656580b
Z e6b9c092d6b173c8cc4ef1e11fdfe252
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
295447b44fc7658891352a9b3f792379b52a76ee5dcfd498b7028f5f87b40e9e
2e70d1e5c9b2c9e068be3ccf8a6062edf7bdde2e46d60ba8ce54eda851af6008