summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-07-18 05:27:00 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-07-18 05:27:00 (GMT)
commite302e23957a3b891294747cc63f1d546ae2e61f8 (patch)
tree91b52208e2a9893a96e53d6c2c0cb60c00a5519c
parentbbee1c90fc2bc6ca5ee69a92e6b6ec9fe5a54777 (diff)
downloadtcl-e302e23957a3b891294747cc63f1d546ae2e61f8.zip
tcl-e302e23957a3b891294747cc63f1d546ae2e61f8.tar.gz
tcl-e302e23957a3b891294747cc63f1d546ae2e61f8.tar.bz2
Add the missing cleanup bits in INST_UNSET_ARRAY.bug_a3309d01db
-rw-r--r--generic/tclExecute.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index d12a25c..ae11f7a 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -4181,6 +4181,9 @@ TEBCresume(
if (!TclIsVarUndefined(varPtr)) {
TclDecrRefCount(varPtr->value.objPtr);
+ TclSetVarUndefined(varPtr);
+ TclClearVarNamespaceVar(varPtr);
+ TclCleanupVar(varPtr, arrayPtr);
} else if (flags & TCL_LEAVE_ERR_MSG) {
goto slowUnsetArray;
}