diff options
author | dkf <dkf@noemail.net> | 2011-08-04 14:13:33 (GMT) |
---|---|---|
committer | dkf <dkf@noemail.net> | 2011-08-04 14:13:33 (GMT) |
commit | 8ad9973008c5382fedb89dc6ddcef622b08454dc (patch) | |
tree | 3631427f35da8f0fa86dd03ea08eec56a20a20ed /generic/tclAssembly.c | |
parent | afb51818ad6a9e10a9d71ef8037b445513ef7159 (diff) | |
download | tcl-8ad9973008c5382fedb89dc6ddcef622b08454dc.zip tcl-8ad9973008c5382fedb89dc6ddcef622b08454dc.tar.gz tcl-8ad9973008c5382fedb89dc6ddcef622b08454dc.tar.bz2 |
More memleak plugging.
FossilOrigin-Name: 979817386778903c3b43a66b2b1ecba2d706faaa
Diffstat (limited to 'generic/tclAssembly.c')
-rw-r--r-- | generic/tclAssembly.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/generic/tclAssembly.c b/generic/tclAssembly.c index e12d0f8..7868882 100644 --- a/generic/tclAssembly.c +++ b/generic/tclAssembly.c @@ -1173,24 +1173,10 @@ FreeAssemblyEnv( } /* - * Free the label hash. - */ - - while (1) { - Tcl_HashEntry* hashEntry; - Tcl_HashSearch hashSearch; - - hashEntry = Tcl_FirstHashEntry(&assemEnvPtr->labelHash, &hashSearch); - if (hashEntry == NULL) { - break; - } - Tcl_DeleteHashEntry(hashEntry); - } - - /* * Dispose what's left. */ + Tcl_DeleteHashTable(&assemEnvPtr->labelHash); TclStackFree(interp, assemEnvPtr->parsePtr); TclStackFree(interp, assemEnvPtr); } @@ -2255,6 +2241,7 @@ FindLocalVar( } varNameStr = Tcl_GetStringFromObj(varNameObj, &varNameLen); if (CheckNamespaceQualifiers(interp, varNameStr, varNameLen)) { + Tcl_DecrRefCount(varNameObj); return -1; } localVar = TclFindCompiledLocal(varNameStr, varNameLen, 1, envPtr); |