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