diff options
Diffstat (limited to 'ext/misc/vtshim.c')
-rw-r--r-- | ext/misc/vtshim.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/misc/vtshim.c b/ext/misc/vtshim.c index 9e1e495e3..01348e8d3 100644 --- a/ext/misc/vtshim.c +++ b/ext/misc/vtshim.c @@ -429,6 +429,7 @@ static void vtshimAuxDestructor(void *pXAux){ assert( pAux->pAllVtab==0 ); if( !pAux->bDisposed && pAux->xChildDestroy ){ pAux->xChildDestroy(pAux->pChildAux); + pAux->xChildDestroy = 0; } sqlite3_free(pAux->zName); sqlite3_free(pAux->pMod); @@ -527,7 +528,10 @@ void sqlite3_dispose_module(void *pX){ pAux->pMod->xDisconnect(pVtab->pChild); } pAux->bDisposed = 1; - if( pAux->xChildDestroy ) pAux->xChildDestroy(pAux->pChildAux); + if( pAux->xChildDestroy ){ + pAux->xChildDestroy(pAux->pChildAux); + pAux->xChildDestroy = 0; + } } } |