summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-05-09 17:46:45 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-05-09 17:46:45 (GMT)
commit73f53667edbf72a3b3f591e5af3fe5abbc405377 (patch)
treebacf44f260810bea56e8860043d991e4ae62bb30 /generic
parentfbb32b908cbf75e5c6f9a38ba91b3e9272fdf0d5 (diff)
downloadtcl-73f53667edbf72a3b3f591e5af3fe5abbc405377.zip
tcl-73f53667edbf72a3b3f591e5af3fe5abbc405377.tar.gz
tcl-73f53667edbf72a3b3f591e5af3fe5abbc405377.tar.bz2
Repair another "impossible" test and the segfault it reveals.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclIORTrans.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/generic/tclIORTrans.c b/generic/tclIORTrans.c
index 1de635f..1dff4b3 100644
--- a/generic/tclIORTrans.c
+++ b/generic/tclIORTrans.c
@@ -2010,6 +2010,7 @@ InvokeTclMethod(
sr = Tcl_SaveInterpState(rtPtr->interp, 0 /* Dummy */);
Tcl_Preserve(rtPtr);
+ Tcl_Preserve(rtPtr->interp);
result = Tcl_EvalObjv(rtPtr->interp, cmdc, rtPtr->argv, TCL_EVAL_GLOBAL);
/*
@@ -2054,6 +2055,7 @@ InvokeTclMethod(
Tcl_IncrRefCount(resObj);
}
Tcl_RestoreInterpState(rtPtr->interp, sr);
+ Tcl_Release(rtPtr->interp);
Tcl_Release(rtPtr);
/*