From: mistachkin Date: Mon, 5 Aug 2013 21:54:17 +0000 (+0000) Subject: For the vtshim module, always zero out the xChildDestroy function pointer after calli... X-Git-Tag: version-3.8.0~49 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f3d2aaeca2011fadcb0afa23a966c3547a033bc5;p=thirdparty%2Fsqlite.git For the vtshim module, always zero out the xChildDestroy function pointer after calling it. FossilOrigin-Name: 240f7252c66ad3ff5ae0ef06455c1ff9bd78bbb4 --- diff --git a/ext/misc/vtshim.c b/ext/misc/vtshim.c index 9e1e495e33..01348e8d3e 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; + } } } diff --git a/manifest b/manifest index 803e5be65c..bbd353d8a3 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Factor\sall\sKeyInfo\sobject\sallocations\sinto\sa\ssingle\sfunction:\nsqlite3KeyInfoAlloc().\s\sAlways\sallocate\senough\sspace\sso\sthat\s\nsqlite3VdbeRecordCompare()\scan\savoid\schecking\sboundaries\sand\shence\nrun\sfaster. -D 2013-08-05T19:11:29.094 +C For\sthe\svtshim\smodule,\salways\szero\sout\sthe\sxChildDestroy\sfunction\spointer\safter\scalling\sit. +D 2013-08-05T21:54:17.483 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -115,7 +115,7 @@ F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63 F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc F ext/misc/rot13.c 1ac6f95f99b575907b9b09c81a349114cf9be45a F ext/misc/spellfix.c 5e1d547e9a2aed13897fa91bac924333f62fd2d9 -F ext/misc/vtshim.c 5fb6be7fe37659a8cbd1e16982d74cceacbc4543 +F ext/misc/vtshim.c babb0dc2bf116029e3e7c9a618b8a1377045303e F ext/misc/wholenumber.c 784b12543d60702ebdd47da936e278aa03076212 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761 F ext/rtree/rtree.c db516d7e59a14c92df10b552789509f2b632df3a @@ -1105,7 +1105,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac -P 28979dcd16f53e0ddca8eed74b668834e2856f03 -R a1cc3bea296ae01021d8d2b465ba6a3e -U drh -Z fdca2fea30eff049f879427aa25c6c1a +P 7301bedd94c8610568349953b18ff3575203e1b2 +R 1ef3cdfcb1aa69d8497541e7dc588a14 +U mistachkin +Z 3969855045273c6e2ecf0a52e071caf5 diff --git a/manifest.uuid b/manifest.uuid index 950c349206..3f7cd97cd9 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7301bedd94c8610568349953b18ff3575203e1b2 \ No newline at end of file +240f7252c66ad3ff5ae0ef06455c1ff9bd78bbb4 \ No newline at end of file