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)
commitf3283e67a3037b34b0a3811bab9e09333c13d8f4 (patch)
treebacf44f260810bea56e8860043d991e4ae62bb30 /generic
parent8e7747599e225b9ef8650e9fd0426318978db316 (diff)
downloadtcl-f3283e67a3037b34b0a3811bab9e09333c13d8f4.zip
tcl-f3283e67a3037b34b0a3811bab9e09333c13d8f4.tar.gz
tcl-f3283e67a3037b34b0a3811bab9e09333c13d8f4.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);
/*