]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
For the vtshim module, always zero out the xChildDestroy function pointer after calli...
authormistachkin <mistachkin@noemail.net>
Mon, 5 Aug 2013 21:54:17 +0000 (21:54 +0000)
committermistachkin <mistachkin@noemail.net>
Mon, 5 Aug 2013 21:54:17 +0000 (21:54 +0000)
FossilOrigin-Name: 240f7252c66ad3ff5ae0ef06455c1ff9bd78bbb4

ext/misc/vtshim.c
manifest
manifest.uuid

index 9e1e495e332cf98c3951930e7f0fd4a3b02d1798..01348e8d3eebbfe3161c0b55dd6cbc3d448ea161 100644 (file)
@@ -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;
+    }
   }
 }
 
index 803e5be65c48b5628f595f5dacfbea4175bb0b88..bbd353d8a340455fd9d6ddeb92262a416c09f632 100644 (file)
--- 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
index 950c349206a8564d6610893984ae604925516d1e..3f7cd97cd912d8eb02454635c3466ec16ca701ba 100644 (file)
@@ -1 +1 @@
-7301bedd94c8610568349953b18ff3575203e1b2
\ No newline at end of file
+240f7252c66ad3ff5ae0ef06455c1ff9bd78bbb4
\ No newline at end of file