From 18b22e9746095eea68a15e4a5406256058ba7dd3 Mon Sep 17 00:00:00 2001 From: hobbs Date: Thu, 27 Feb 2003 00:54:32 +0000 Subject: * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when deleting a command that had trace on it. [Bug #693564] (sofer) FossilOrigin-Name: 8bb4478f384ce86f7f334b7af6c41da96d9ce842 --- ChangeLog | 8 +++++++- generic/tclCmdMZ.c | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3130b3e..5d872e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-02-26 Jeff Hobbs + + * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when + deleting a command that had trace on it. [Bug #693564] (sofer) + 2003-02-25 Don Porter * doc/pkgMkIndex.n: Modified [pkg_mkIndex] to use -nocase matching @@ -8,7 +13,8 @@ 2003-02-25 Andreas Kupries * tests/pid.test: See below [Bug #678412]. - * tests/io.test: Made more robust against spaces in paths [Bug #678400]. + * tests/io.test: Made more robust against spaces in paths + [Bug #678400]. 2003-02-25 Miguel Sofer diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index 2339965..2ae4819 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCmdMZ.c,v 1.81 2003/02/18 02:25:43 hobbs Exp $ + * RCS: @(#) $Id: tclCmdMZ.c,v 1.82 2003/02/27 00:54:36 hobbs Exp $ */ #include "tclInt.h" @@ -4074,6 +4074,11 @@ TraceCommandProc(clientData, interp, oldName, newName, flags) /* Postpone deletion, until exec trace returns */ tcmdPtr->flags = 0; } + /* + * Decrement the refCount since the command which held our + * reference (ever since we were created) has just gone away + */ + tcmdPtr->refCount--; } if ((--tcmdPtr->refCount) <= 0) { ckfree((char*)tcmdPtr); -- cgit v0.12