diff options
author | dan <dan@noemail.net> | 2011-10-29 11:43:04 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2011-10-29 11:43:04 +0000 |
commit | 341cadee5430fec2e698936b9707a18d2ba960ec (patch) | |
tree | e59a16bc16e35fbda3a7c0a94185ccc8b1308b47 /src | |
parent | 81bdd6db5445329a33eed0da907bb2e4fe9f079a (diff) | |
download | sqlite-341cadee5430fec2e698936b9707a18d2ba960ec.tar.gz sqlite-341cadee5430fec2e698936b9707a18d2ba960ec.zip |
Avoid attempting to call savepoint related methods on deleted sqlite3_vtab objects. Fix for [48f299634a].
FossilOrigin-Name: 3565fcf898960d7a23d23a2f363b039b2e29447b
Diffstat (limited to 'src')
-rw-r--r-- | src/vtab.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vtab.c b/src/vtab.c index 223ef4e7b..8119cb551 100644 --- a/src/vtab.c +++ b/src/vtab.c @@ -891,7 +891,7 @@ int sqlite3VtabSavepoint(sqlite3 *db, int op, int iSavepoint){ for(i=0; rc==SQLITE_OK && i<db->nVTrans; i++){ VTable *pVTab = db->aVTrans[i]; const sqlite3_module *pMod = pVTab->pMod->pModule; - if( pMod->iVersion>=2 ){ + if( pVTab->pVtab && pMod->iVersion>=2 ){ int (*xMethod)(sqlite3_vtab *, int); switch( op ){ case SAVEPOINT_BEGIN: @@ -906,7 +906,7 @@ int sqlite3VtabSavepoint(sqlite3 *db, int op, int iSavepoint){ break; } if( xMethod && pVTab->iSavepoint>iSavepoint ){ - rc = xMethod(db->aVTrans[i]->pVtab, iSavepoint); + rc = xMethod(pVTab->pVtab, iSavepoint); } } } |