summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-07-05 17:45:27 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-07-05 17:45:27 (GMT)
commit7e3e434235a27d0e8b697f2731cd42d8536ca349 (patch)
treee6d5e1e88d9f159bec2d99661785bc7ac0623446
parent6295fccc15539041eb182654e7b73cea3fed2fef (diff)
parent4ce2c3e6e7ca0a108a6b0a502f9349ce319e2c55 (diff)
downloadtcl-7e3e434235a27d0e8b697f2731cd42d8536ca349.zip
tcl-7e3e434235a27d0e8b697f2731cd42d8536ca349.tar.gz
tcl-7e3e434235a27d0e8b697f2731cd42d8536ca349.tar.bz2
merge trunk
-rw-r--r--generic/tclExecute.c1
-rw-r--r--generic/tclStrToD.c2
-rw-r--r--tests/execute.test9
3 files changed, 11 insertions, 1 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 3ba4694..a1591a7 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -9754,7 +9754,6 @@ TclGetSourceFromFrame(
cfPtr->cmdObj = Tcl_NewStringObj(cfPtr->cmd, cfPtr->len);
} else {
cfPtr->cmdObj = Tcl_NewListObj(objc, objv);
- cfPtr->cmd = Tcl_GetStringFromObj(cfPtr->cmdObj, &cfPtr->len);
}
Tcl_IncrRefCount(cfPtr->cmdObj);
}
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index 6da1f04..14afc36 100644
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -1852,6 +1852,8 @@ RefineApproximation(
rteSignificand = frexp(approxResult, &rteExponent);
rteSigWide = (Tcl_WideInt) ldexp(rteSignificand, FP_PRECISION);
if ((rteSigWide & 1) == 0) {
+ mp_clear(&twoMd);
+ mp_clear(&twoMv);
return approxResult;
}
}
diff --git a/tests/execute.test b/tests/execute.test
index d3c521c..6942413 100644
--- a/tests/execute.test
+++ b/tests/execute.test
@@ -1057,6 +1057,15 @@ test execute-11.2 {Bug 268b23df11} -setup {
rename crash {}
rename zero {}
} -result 0
+test execute-11.3 {Bug a0ece9d6d4} -setup {
+ proc crash {} {expr {rand()}}
+ trace add execution crash enterstep {apply {args {info frame -2}}}
+} -body {
+ string is double [crash]
+} -cleanup {
+ trace remove execution crash enterstep {apply {args {info frame -2}}}
+ rename crash {}
+} -result 1
# cleanup
if {[info commands testobj] != {}} {