| Index: third_party/sqlite/src/ext/fts5/test/fts5corrupt3.test | 
| diff --git a/third_party/sqlite/src/ext/fts5/test/fts5corrupt3.test b/third_party/sqlite/src/ext/fts5/test/fts5corrupt3.test | 
| index dd70f31a6b5ad37429035e617326c9aa99c770f0..9653bcaac20a36c27714caff959fdc7fca0d18d6 100644 | 
| --- a/third_party/sqlite/src/ext/fts5/test/fts5corrupt3.test | 
| +++ b/third_party/sqlite/src/ext/fts5/test/fts5corrupt3.test | 
| @@ -179,6 +179,10 @@ for {set i 1} {1} {incr i} { | 
| if {$end<=$i} break | 
| lset var end [expr $end - $i] | 
| set struct [binary format c* $var] | 
| + | 
| +  db close | 
| +  sqlite3 db test.db | 
| + | 
| db eval { | 
| BEGIN; | 
| UPDATE t1_data SET block = $struct WHERE id=10; | 
| @@ -334,12 +338,9 @@ do_catchsql_test 6.3.5 { | 
| } {1 {database disk image is malformed}} | 
|  | 
|  | 
| -} | 
| - | 
| #------------------------------------------------------------------------ | 
| # | 
| reset_db | 
| -reset_db | 
| proc rnddoc {n} { | 
| set map [list a b c d] | 
| set doc [list] | 
| @@ -371,6 +372,41 @@ do_test 7.1 { | 
| } | 
| } {} | 
|  | 
| +} | 
| + | 
| +#------------------------------------------------------------------------ | 
| +# Corruption within the structure record. | 
| +# | 
| +reset_db | 
| +do_execsql_test 8.1 { | 
| +  CREATE VIRTUAL TABLE t1 USING fts5(x, y); | 
| +  INSERT INTO t1 VALUES('one', 'two'); | 
| +} | 
| + | 
| +do_test 9.1.1 { | 
| +  set    blob "12345678"    ;# cookie | 
| +  append blob "0105"        ;# 1 level, total of 5 segments | 
| +  append blob "06"          ;# write counter | 
| +  append blob "0002"        ;# first level has 0 segments merging, 2 other. | 
| +  append blob "450108"      ;# first segment | 
| +  execsql "REPLACE INTO t1_data VALUES(10, X'$blob')" | 
| +} {} | 
| +do_catchsql_test 9.1.2 { | 
| +  SELECT * FROM t1('one AND two'); | 
| +} {1 {database disk image is malformed}} | 
| + | 
| +do_test 9.2.1 { | 
| +  set    blob "12345678"    ;# cookie | 
| +  append blob "0205"        ;# 2 levels, total of 5 segments | 
| +  append blob "06"          ;# write counter | 
| +  append blob "0001"        ;# first level has 0 segments merging, 1 other. | 
| +  append blob "450108"      ;# first segment | 
| +  execsql "REPLACE INTO t1_data VALUES(10, X'$blob')" | 
| +} {} | 
| +do_catchsql_test 9.2.2 { | 
| +  SELECT * FROM t1('one AND two'); | 
| +} {1 {database disk image is malformed}} | 
| + | 
| sqlite3_fts5_may_be_corrupt 0 | 
| finish_test | 
|  | 
|  |