From 7d6b4ece6967da652c3eeb1f0baced245473353b Mon Sep 17 00:00:00 2001 From: dgp Date: Tue, 1 Mar 2016 16:42:03 +0000 Subject: Extra safety against cycles --- generic/tclVar.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/generic/tclVar.c b/generic/tclVar.c index 12e52c2..5574f30 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -703,7 +703,8 @@ TclObjLookupVarEx( if (part1Ptr != cachedNamePtr) { part1Ptr->internalRep.twoPtrValue.ptr1 = cachedNamePtr; Tcl_IncrRefCount(cachedNamePtr); - if (cachedNamePtr->typePtr != &localVarNameType) { + if (cachedNamePtr->typePtr != &localVarNameType + || cachedNamePtr->internalRep.twoPtrValue.ptr1 != NULL) { TclFreeIntRep(cachedNamePtr); } } else { -- cgit v0.12