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;
 }