summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2012-06-08 15:51:00 (GMT)
committerdgp@users.sourceforge.net <dgp>2012-06-08 15:51:00 (GMT)
commit8625b8eec279d6616f45e4429808e63175481b72 (patch)
tree5766e5ea4a16d70c9458baf32001825441183f00
parentb80a4b1460e0213e1fc22364fc46f2eb2efe64c8 (diff)
downloadtcl-8625b8eec279d6616f45e4429808e63175481b72.zip
tcl-8625b8eec279d6616f45e4429808e63175481b72.tar.gz
tcl-8625b8eec279d6616f45e4429808e63175481b72.tar.bz2
Work in progress fixing 3532959
-rw-r--r--generic/tclBasic.c3
-rw-r--r--generic/tclProc.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 954b2b3..1d289f2 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -1388,7 +1388,8 @@ DeleteInterpProc(
hPtr != NULL;
hPtr = Tcl_NextHashEntry(&hSearch)) {
CmdFrame *cfPtr = Tcl_GetHashValue(hPtr);
-
+ Proc *procPtr = (Proc *) Tcl_GetHashKey(iPtr->linePBodyPtr, hPtr);
+ procPtr->iPtr = NULL;
if (cfPtr->type == TCL_LOCATION_SOURCE) {
Tcl_DecrRefCount(cfPtr->data.eval.path);
}
diff --git a/generic/tclProc.c b/generic/tclProc.c
index 43e88c6..325506b 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -2198,7 +2198,7 @@ TclProcCleanupProc(
* the same ProcPtr is overwritten with a new CmdFrame.
*/
- if (!iPtr) {
+ if (iPtr == NULL || iPtr->linePBodyPtr == NULL) {
return;
}