summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--changes59
-rw-r--r--generic/tclIOCmd.c2
-rwxr-xr-xgeneric/tclStrToD.c2
-rw-r--r--generic/tclTrace.c10
5 files changed, 76 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 4eccf76..da20558 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-06-13 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclStrToD.c: [Bug 3315098] Mem leak fix from Gustaf Neumann.
+
2011-06-02 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Removed TclCleanupLiteralTable(), and old
@@ -285,7 +289,7 @@
* library/tzdata/Pacific/Honolulu: tzdata2011d
- * unix/configure.in [Bug 3205320]: stack space detection defeated by inlining
+ * unix/configure.in: [Bug 3205320]: stack space detection defeated by inlining
* unix/configure: (autoconf-2.59)
2011-03-09 Don Porter <dgp@users.sourceforge.net>
diff --git a/changes b/changes
index f2a49b6..e1c5fb6 100644
--- a/changes
+++ b/changes
@@ -7480,3 +7480,62 @@ memory with buffer backup (ferrieux)
*** POTENTIAL INCOMPATIBILITY ***
--- Released 8.5.9, September 8, 2010 --- See ChangeLog for details ---
+
+2010-09-24 (bug fix)[3056775] race condition in Win sockets (twylite,kupries)
+
+2010-10-23 (update)[3085863] Update Unicode data to 6.0 (nijtmans)
+
+2010-11-02 Safe Tcl handling of empty path lists (cassoff)
+
+2010-11-03 (bug fix)[3098302] crash in compiled [catch] (kenny)
+
+2010-11-15 (TIP 378)[3081184] improved TIP 280 performance (kupries)
+
+2010-11-30 (enhancement) Restore TclFormatInt for performance (hobbs)
+
+2010-11-30 (enhancement) Tcl_PrintDouble performance improvements (kenny)
+
+2010-12-12 (platform) OpenBSD build improvements (cassoff)
+
+2010-12-17 (platform) Revisions to support rpm 4.4.2 (cassoff)
+
+2011-01-13 (bug fix)[3142026] GrowEvaluationStack OBOE (harder,sofer)
+
+2011-01-19 (bug fix)[3072640] protect writes to ::error* variables (sofer)
+
+2011-03-06 (bug fix)[3200987,3192636] parser buffer overruns (porter)
+
+2011-03-08 (bug fix)[3202905] failed intrep release of interp result (mccormack)
+
+2011-03-09 (bug fix)[3202171] repair [namespace inscope] optimizer (porter)
+
+2011-03-14 (bug fix) Fixes from libtommath 0.42.0 release (fellows)
+
+2011-03-21 (bug fix)[3216070] [load] extension from embed Tcl apps (nijtmans)
+
+2011-04-12 (bug fix)[3285472] intrep corruption in [string reverse] (porter)
+
+2011-04-13 (bug fix)[2662380] crash when variable append trace unsets (sofer)
+
+2011-04-13 (bug fix)[3285375] Buffer overflow in [concat] (porter)
+
+2011-05-02 (internals change) revised TclFindElement() interface (porter)
+ *** POTENTIAL INCOMPATIBILITY ***
+
+2011-05-05 (enhancement) dict->list w/o string rep generation (porter)
+
+2011-05-10 (bug fix)[3173086] Crash parsing long lists (rogers,porter)
+
+2011-05-12 (bug fix)[2715421] surplus \n in POST (passadyn,thoyts)
+=> http 2.7.6
+
+2011-05-24 tzdata updated to Olson's tzdata2011g (iyer)
+
+2011-05-25 (enhancement) msgcat internal improvements (fellows)
+=> msgcat 1.4.4
+
+2011-06-02 (bug fix)[3185407] cmd resolution epoch flaw (nadkarni,fellows)
+
+2011-06-13 (bug fix)[3315098] mem leak generating double string rep (neumann)
+
+--- Released 8.5.10, June 22, 2011 --- See ChangeLog for details ---
diff --git a/generic/tclIOCmd.c b/generic/tclIOCmd.c
index e166e94..0c05cbf 100644
--- a/generic/tclIOCmd.c
+++ b/generic/tclIOCmd.c
@@ -138,7 +138,7 @@ Tcl_PutsObjCmd(
chanObjPtr = objv[2];
string = objv[3];
break;
- } else if (strcmp(TclGetString(objv[2]), "nonewline") == 0) {
+ } else if (strcmp(TclGetString(objv[3]), "nonewline") == 0) {
/*
* The code below provides backwards compatibility with an old
* form of the command that is no longer recommended or
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index e8b7538..421657c 100755
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -3790,7 +3790,7 @@ ShorteningBignumConversion(Double* dPtr,
if (m2plus > m2minus) {
mp_clear(&mplus);
}
- mp_clear_multi(&b, &mminus, &temp, NULL);
+ mp_clear_multi(&b, &mminus, &temp, &dig, &S, NULL);
*s = '\0';
*decpt = k;
if (endPtr) {
diff --git a/generic/tclTrace.c b/generic/tclTrace.c
index 49c57bc..28e6934 100644
--- a/generic/tclTrace.c
+++ b/generic/tclTrace.c
@@ -2874,6 +2874,16 @@ Tcl_UntraceVar2(
* The code below makes it possible to delete traces while traces are
* active: it makes sure that the deleted trace won't be processed by
* TclCallVarTraces.
+ *
+ * Caveat (Bug 3062331): When an unset trace handler on a variable
+ * tries to delete a different unset trace handler on the same variable,
+ * the results may be surprising. When variable unset traces fire, the
+ * traced variable is already gone. So the TclLookupVar() call above
+ * will not find that variable, and not finding it will never reach here
+ * to perform the deletion. This means callers of Tcl_UntraceVar*()
+ * attempting to delete unset traces from within the handler of another
+ * unset trace have to account for the possibility that their call to
+ * Tcl_UntraceVar*() is a no-op.
*/
for (activePtr = iPtr->activeVarTracePtr; activePtr != NULL;