From efdde169f618a96b82638c1f74a622f3e1456fb3 Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 27 Oct 2010 15:36:21 +0000 Subject: [PATCH] Fix a memory leak in the update_hook method of the TCL interface. FossilOrigin-Name: 1d17e3dc832d789c3665e240dac5019fc4f9c18b --- manifest | 24 +++++++++++++++++------- manifest.uuid | 2 +- src/tclsqlite.c | 1 + 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 862d1517f9..d5f6fc1576 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Prevent\san\sassert\sfrom\sfailing\swhen\sopening\sa\szero-length\sdatabase\sfile\swith\san\sapparently\shot\sjournal\swith\slocking_mode=exclusive\sset. -D 2010-10-22T13:55:51 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C Fix\sa\smemory\sleak\sin\sthe\supdate_hook\smethod\sof\sthe\sTCL\sinterface. +D 2010-10-27T15:36:22 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2c8cefd962eca0147132c7cf9eaa4bb24c656f3f F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -181,7 +184,7 @@ F src/sqliteInt.h c63b0340dfdfde18ff255ddccf004edd2d073288 F src/sqliteLimit.h a17dcd3fb775d63b64a43a55c54cb282f9726f44 F src/status.c 496913d4e8441195f6f2a75b1c95993a45b9b30b F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e -F src/tclsqlite.c e91019fb6787166abca23a81b16c07fecc2ed751 +F src/tclsqlite.c dc71e2bd0f16dbb9106c1f5e257a64b783574f26 F src/test1.c cbedc6ea7905b1361db054fbf7fcd0dafb6d844e F src/test2.c 80d323d11e909cf0eb1b6fbb4ac22276483bcf31 F src/test3.c 056093cfef69ff4227a6bdb9108564dc7f45e4bc @@ -873,7 +876,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P d30f7b2deffdba373a2e0988f433c631c790a7b5 -R cf57ced11aacf0208551629553db4816 -U dan -Z 9caac11e4cccaa2af272b1a8dc9b12c0 +P f000ac1e52f56f5fcbc2f8b9cd632656c6dc6002 +R 87bd2b19f4ca2bca07ea5dcbd74b31a3 +U drh +Z 479ea04ee8e630a3733354d872bb80c9 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFMyEb5oxKgR168RlERAvL+AJ4udNOfHX94MZFfKRriPPbqDCuqVQCaA/SV +OqyW54Uozr4uOZ/lWO5idRc= +=GHn4 +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 6927485528..420b3c45f2 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f000ac1e52f56f5fcbc2f8b9cd632656c6dc6002 \ No newline at end of file +1d17e3dc832d789c3665e240dac5019fc4f9c18b \ No newline at end of file diff --git a/src/tclsqlite.c b/src/tclsqlite.c index 3f1cb11d72..471b0d3fb1 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -670,6 +670,7 @@ static void DbUpdateHandler( Tcl_ListObjAppendElement(0, pCmd, Tcl_NewStringObj(zTbl, -1)); Tcl_ListObjAppendElement(0, pCmd, Tcl_NewWideIntObj(rowid)); Tcl_EvalObjEx(pDb->interp, pCmd, TCL_EVAL_DIRECT); + Tcl_DecrRefCount(pCmd); } static void tclCollateNeeded(