summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2008-02-28 17:36:47 (GMT)
committerdgp <dgp@users.sourceforge.net>2008-02-28 17:36:47 (GMT)
commit2b7f76a785b725b2cf77ee239b28c5529e92093f (patch)
treef029549ff3fe6ff29c0b83cdf5069af0063a289b
parentc859f1ed43975d6d5d402bb1efa8e2a3fb991388 (diff)
downloadtcl-2b7f76a785b725b2cf77ee239b28c5529e92093f.zip
tcl-2b7f76a785b725b2cf77ee239b28c5529e92093f.tar.gz
tcl-2b7f76a785b725b2cf77ee239b28c5529e92093f.tar.bz2
* generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big]
leaked an mp_int.
-rw-r--r--ChangeLog3
-rw-r--r--generic/tclStringObj.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d178b2b..23d13bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2008-02-28 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big]
+ leaked an mp_int.
+
* generic/tclCompCmds.c (TclCompileReturnCmd): The 2007-10-18 commit
to optimize compiled [return -level 0 $x] [RFE 1794073] introduced
a memory leak of the return options dictionary. Fixing that.
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index 57b1669..9664726 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -33,7 +33,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclStringObj.c,v 1.69 2008/01/10 16:09:23 dgp Exp $ */
+ * RCS: @(#) $Id: tclStringObj.c,v 1.70 2008/02/28 17:36:49 dgp Exp $ */
#include "tclInt.h"
#include "tommath.h"
@@ -2154,6 +2154,9 @@ Tcl_AppendFormatToObj(
}
bits /= base;
}
+ if (useBig) {
+ mp_clear(&big);
+ }
if (gotPrecision) {
while (length < precision) {
Tcl_AppendToObj(segment, "0", 1);