From 2ac57a490ebcd5bd43e7f03e705a243ce67ffa37 Mon Sep 17 00:00:00 2001 From: dgp <dgp@users.sourceforge.net> Date: Tue, 1 May 2007 20:20:43 +0000 Subject: * generic/tclCmdMZ.c (STR_MAP): When [string map] has a pure dict map, a missing Tcl_DictObjDone() call led to a memleak. [Bug 1710709] --- ChangeLog | 7 ++++++- generic/tclCmdMZ.c | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index aa97099..e074932 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-05-01 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCmdMZ.c (STR_MAP): When [string map] has a pure dict + map, a missing Tcl_DictObjDone() call led to a memleak. [Bug 1710709] + 2007-04-30 Daniel Steffen <das@users.sourceforge.net> * unix/Makefile.in: add 'tclsh' dependency to install targets that rely @@ -10,7 +15,7 @@ Tcl_Obj's as late as possible, and only when actually needed. [Bug 1705778, leak K29]. -2007-04-30 Kevin B, Kenny <kennykb@acm.org> +2007-04-30 Kevin B. Kenny <kennykb@acm.org> * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Corrected reference count mismanagement on the name of the source file in diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index dde42b3..274d8af 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -15,7 +15,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.149 2007/04/20 05:51:10 kennykb Exp $ + * RCS: @(#) $Id: tclCmdMZ.c,v 1.150 2007/05/01 20:20:44 dgp Exp $ */ #include "tclInt.h" @@ -1887,6 +1887,7 @@ Tcl_StringObjCmd( for (i=2 ; i<mapElemc ; i+=2) { Tcl_DictObjNext(&search, mapElemv+i, mapElemv+i+1, &done); } + Tcl_DictObjDone(&search); } else { if (Tcl_ListObjGetElements(interp, objv[objc-2], &mapElemc, &mapElemv) != TCL_OK) { -- cgit v0.12