Have sqlite3_blob_bytes() return 0 following a failed call to sqlite3_reopen_blob().
FossilOrigin-Name: 476a8b492124d31e0656e61a6183ab55684c0bdf
diff --git a/src/vdbeblob.c b/src/vdbeblob.c
index f43fc64..f26cc87 100644
--- a/src/vdbeblob.c
+++ b/src/vdbeblob.c
@@ -419,7 +419,7 @@
*/
int sqlite3_blob_bytes(sqlite3_blob *pBlob){
Incrblob *p = (Incrblob *)pBlob;
- return p ? p->nByte : 0;
+ return (p && p->pStmt) ? p->nByte : 0;
}
/*
@@ -457,6 +457,7 @@
}
rc = sqlite3ApiExit(db, rc);
+ assert( rc==SQLITE_OK || p->pStmt==0 );
sqlite3_mutex_leave(db->mutex);
return rc;
}