mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Fix an assert() in the OP_ParseSchema opcode that might fail on a corrupt
database file when running with PRAGMA writable_schema=ON. dbsqlfuzz e7d743ca65f2767e415095f0c5a49166a0f55eea. FossilOrigin-Name: 10801f65af495a999ef61741322ea82dc20bd92ea8e55e4016c409096f38b0d1
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Remove\sunnecessary\send-of-line\swhitespace\sfrom\sthe\sregexp.c\sextension.
|
C Fix\san\sassert()\sin\sthe\sOP_ParseSchema\sopcode\sthat\smight\sfail\son\sa\scorrupt\ndatabase\sfile\swhen\srunning\swith\sPRAGMA\swritable_schema=ON.\ndbsqlfuzz\se7d743ca65f2767e415095f0c5a49166a0f55eea.
|
||||||
D 2021-06-07T00:54:38.895
|
D 2021-06-07T11:50:23.565
|
||||||
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
|
||||||
@@ -616,7 +616,7 @@ F src/upsert.c df8f1727d62b5987c4fd302cd4d7c0c84ae57cd65683c5a34a740dfe24039235
|
|||||||
F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
|
F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
|
||||||
F src/util.c 41c7a72da1df47864faa378a1c720b38adb288c6838cb6be5594511b6287a048
|
F src/util.c 41c7a72da1df47864faa378a1c720b38adb288c6838cb6be5594511b6287a048
|
||||||
F src/vacuum.c 492422c1463c076473bae1858799c7a0a5fe87a133d1223239447c422cd26286
|
F src/vacuum.c 492422c1463c076473bae1858799c7a0a5fe87a133d1223239447c422cd26286
|
||||||
F src/vdbe.c a51f4947380b0561ef70730e1144bf3837216cfea61a59a498149d47eeb09943
|
F src/vdbe.c 87d29d763c0398d8128ecc9f043aab7108123b15c919ec92d4b57e5e4385818c
|
||||||
F src/vdbe.h 25dabb25c7e157b84e59260cfb5b466c3ac103ede9f36f4db371332c47601abe
|
F src/vdbe.h 25dabb25c7e157b84e59260cfb5b466c3ac103ede9f36f4db371332c47601abe
|
||||||
F src/vdbeInt.h 58980223a32495ad059d10581b83e133abdc77248b1bab85c080cab8a13bd819
|
F src/vdbeInt.h 58980223a32495ad059d10581b83e133abdc77248b1bab85c080cab8a13bd819
|
||||||
F src/vdbeapi.c d9e99daf59fec928986838b3389a7337e82fec6b3b5de30206cb99fb4661b94e
|
F src/vdbeapi.c d9e99daf59fec928986838b3389a7337e82fec6b3b5de30206cb99fb4661b94e
|
||||||
@@ -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 2aa9368b63b42ac7c700516f109edcc6098c12b850eae591afed4e51a3f41819
|
P 17e26a1f5e3cc4e96b9265dcdbf54f376304b0908f3ff0a0d3df33653e77e5b6
|
||||||
R 6410a80813c7a5acd6639014bb0b3850
|
R 2008131d3502f721f33346d6e5ea4f59
|
||||||
U drh
|
U drh
|
||||||
Z e86420a701d8182f7faf4cd935aa8498
|
Z 608a44948c135ddd98aa43f877710cc1
|
||||||
|
@@ -1 +1 @@
|
|||||||
17e26a1f5e3cc4e96b9265dcdbf54f376304b0908f3ff0a0d3df33653e77e5b6
|
10801f65af495a999ef61741322ea82dc20bd92ea8e55e4016c409096f38b0d1
|
@@ -6361,7 +6361,9 @@ case OP_ParseSchema: {
|
|||||||
|
|
||||||
iDb = pOp->p1;
|
iDb = pOp->p1;
|
||||||
assert( iDb>=0 && iDb<db->nDb );
|
assert( iDb>=0 && iDb<db->nDb );
|
||||||
assert( DbHasProperty(db, iDb, DB_SchemaLoaded) || db->mallocFailed );
|
assert( DbHasProperty(db, iDb, DB_SchemaLoaded)
|
||||||
|
|| db->mallocFailed
|
||||||
|
|| (CORRUPT_DB && (db->flags & SQLITE_NoSchemaError)!=0) );
|
||||||
|
|
||||||
#ifndef SQLITE_OMIT_ALTERTABLE
|
#ifndef SQLITE_OMIT_ALTERTABLE
|
||||||
if( pOp->p4.z==0 ){
|
if( pOp->p4.z==0 ){
|
||||||
|
Reference in New Issue
Block a user