1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Fix various problems in fts5 revealed by fault-injection tests.

FossilOrigin-Name: e358c3de5c916f2c851ab9324ceaae4e4e7a0fbd
This commit is contained in:
dan
2014-12-18 18:25:48 +00:00
parent 845d0ab323
commit e4bec37900
9 changed files with 317 additions and 195 deletions

View File

@@ -789,8 +789,10 @@ int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab){
static void callFinaliser(sqlite3 *db, int offset){
int i;
if( db->aVTrans ){
VTable **aVTrans = db->aVTrans;
db->aVTrans = 0;
for(i=0; i<db->nVTrans; i++){
VTable *pVTab = db->aVTrans[i];
VTable *pVTab = aVTrans[i];
sqlite3_vtab *p = pVTab->pVtab;
if( p ){
int (*x)(sqlite3_vtab *);
@@ -800,9 +802,8 @@ static void callFinaliser(sqlite3 *db, int offset){
pVTab->iSavepoint = 0;
sqlite3VtabUnlock(pVTab);
}
sqlite3DbFree(db, db->aVTrans);
sqlite3DbFree(db, aVTrans);
db->nVTrans = 0;
db->aVTrans = 0;
}
}