summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-07-18 05:52:57 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-07-18 05:52:57 (GMT)
commitf42f4ba9e433ebb4b0234a6c5dbf445a82fe085a (patch)
treedc65fa808151cd31b022870da94c2725427d2a95 /generic
parentb8f06cb252d82acd8bda326eed40ee05c656e874 (diff)
parente302e23957a3b891294747cc63f1d546ae2e61f8 (diff)
downloadtcl-f42f4ba9e433ebb4b0234a6c5dbf445a82fe085a.zip
tcl-f42f4ba9e433ebb4b0234a6c5dbf445a82fe085a.tar.gz
tcl-f42f4ba9e433ebb4b0234a6c5dbf445a82fe085a.tar.bz2
[a3309d01db] Plug memleak in compiled [unset a($i)].
Diffstat (limited to 'generic')
-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;
}