Fix a problem that could cause a crash if a blob handle were closed after the associated database handle was closed using sqlite3_close_v2().
FossilOrigin-Name: 52f463d29407fad691c42b13462880e7605603c9be9f480d18e953a0ef78149a
This commit is contained in:
parent
08e2e8e680
commit
e464802d49
16
manifest
16
manifest
@ -1,5 +1,5 @@
|
||||
C Mark\san\sunreachable\sbranch\susing\sALWAYS().
|
||||
D 2019-07-14T00:15:07.292
|
||||
C Fix\sa\sproblem\sthat\scould\scause\sa\scrash\sif\sa\sblob\shandle\swere\sclosed\safter\sthe\sassociated\sdatabase\shandle\swas\sclosed\susing\ssqlite3_close_v2().
|
||||
D 2019-07-15T13:58:28.470
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
@ -599,7 +599,7 @@ F src/vdbe.h 712bca562eaed1c25506b9faf9680bdc75fc42e2f4a1cd518d883fa79c7a4237
|
||||
F src/vdbeInt.h 889c52272a02cea8af6e21b493b08bc9a043e3372a77fdfe838d25e73a47ac92
|
||||
F src/vdbeapi.c f9161e5c77f512fbb80091ce8af621d19c9556bda5e734cffaac1198407400da
|
||||
F src/vdbeaux.c eb2b67dcf65e71fd11d977961220f9d1888fb60bbf3730eb60ff971c68dc7dd5
|
||||
F src/vdbeblob.c f5c70f973ea3a9e915d1693278a5f890dc78594300cf4d54e64f2b0917c94191
|
||||
F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1
|
||||
F src/vdbemem.c f6f277d17d50972571d1394535d4c3d156fdea871d8f327f5b9479984054015a
|
||||
F src/vdbesort.c 66592d478dbb46f19aed0b42222325eadb84deb40a90eebe25c6e7c1d8468f47
|
||||
F src/vdbetrace.c fa3bf238002f0bbbdfb66cc8afb0cea284ff9f148d6439bc1f6f2b4c3b7143f0
|
||||
@ -727,7 +727,7 @@ F test/cast.test 3619f0c58c2e4b2a94aa86e75607e497d34ef40ab74418e71aef7b4ca515589
|
||||
F test/cffault.test 9d6b20606afe712374952eec4f8fd74b1a8097ef
|
||||
F test/check.test dcc952a127c394ce0de2aa634d26c78207e855327cc63a24d3638ca8fbfa641e
|
||||
F test/chunksize.test 427d87791743486cbf0c3b8c625002f3255cb3a89c6eba655a98923b1387b760
|
||||
F test/close.test 799ea4599d2f5704b0a30f477d17c2c760d8523fa5d0c8be4a7df2a8cad787d8
|
||||
F test/close.test eccbad8ecd611d974cbf47278c3d4e5874faf02d811338d5d348af42d56d647c
|
||||
F test/closure01.test 9905883f1b171a4638f98fc764879f154e214a306d3d8daf412a15e7f3a9b1e0
|
||||
F test/coalesce.test cee0dccb9fbd2d494b77234bccf9dc6c6786eb91
|
||||
F test/collate1.test f9b653f515ef3324a0c4e3c6adbf136bb1903622af678d482a60c11c9c054e6c
|
||||
@ -1835,7 +1835,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P 85fd70fead834aed16cffbea892b2255b4e10dd677f4dbbb96062d5ff42efdeb
|
||||
R 2916789ca16bd517dcf20e2c1512a43b
|
||||
U drh
|
||||
Z 6e17128a6889867592c726db142aced4
|
||||
P 0fff105a3e501fd91877d67761459eb0323e6cf79916242027cce0d05697f554
|
||||
R 3e1676b4ed91442ef96f61576ecdb210
|
||||
U dan
|
||||
Z a9ed82eb59dfd0268931c636761499e0
|
||||
|
@ -1 +1 @@
|
||||
0fff105a3e501fd91877d67761459eb0323e6cf79916242027cce0d05697f554
|
||||
52f463d29407fad691c42b13462880e7605603c9be9f480d18e953a0ef78149a
|
@ -355,11 +355,12 @@ int sqlite3_blob_close(sqlite3_blob *pBlob){
|
||||
sqlite3 *db;
|
||||
|
||||
if( p ){
|
||||
sqlite3_stmt *pStmt = p->pStmt;
|
||||
db = p->db;
|
||||
sqlite3_mutex_enter(db->mutex);
|
||||
rc = sqlite3_finalize(p->pStmt);
|
||||
sqlite3DbFree(db, p);
|
||||
sqlite3_mutex_leave(db->mutex);
|
||||
rc = sqlite3_finalize(pStmt);
|
||||
}else{
|
||||
rc = SQLITE_OK;
|
||||
}
|
||||
|
@ -79,4 +79,11 @@ do_test 1.4.4 {
|
||||
sqlite3_finalize $STMT
|
||||
} {SQLITE_OK}
|
||||
|
||||
do_test 1.5 {
|
||||
set DB [sqlite3_open test.db]
|
||||
sqlite3_blob_open $DB main t1 x 2 0 BLOB
|
||||
sqlite3_close_v2 $DB
|
||||
sqlite3_blob_close $BLOB
|
||||
} {}
|
||||
|
||||
finish_test
|
||||
|
Loading…
x
Reference in New Issue
Block a user