aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeblob.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-07-15 13:58:28 +0000
committerdan <dan@noemail.net>2019-07-15 13:58:28 +0000
commite464802d49013ea759c30be7106976cbc2cde1e5 (patch)
tree24b2da79f370e15b417bdec2369c60a473f40b3f /src/vdbeblob.c
parent08e2e8e680147a52909b292d4c0628a94f928207 (diff)
downloadsqlite-e464802d49013ea759c30be7106976cbc2cde1e5.tar.gz
sqlite-e464802d49013ea759c30be7106976cbc2cde1e5.zip
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
Diffstat (limited to 'src/vdbeblob.c')
-rw-r--r--src/vdbeblob.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vdbeblob.c b/src/vdbeblob.c
index 427979269..d34e3cf9f 100644
--- a/src/vdbeblob.c
+++ b/src/vdbeblob.c
@@ -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;
}