diff options
author | Kevin B Kenny <kennykb@acm.org> | 2004-07-21 00:42:37 (GMT) |
---|---|---|
committer | Kevin B Kenny <kennykb@acm.org> | 2004-07-21 00:42:37 (GMT) |
commit | b7baa5cf544d8865daa4745ad9616caabfedd664 (patch) | |
tree | 497cd829d08b8227765ef2485af55dd5733a6147 /generic/tclBasic.c | |
parent | 1588001f922d15b8d69b00506ab0260f81595b8f (diff) | |
download | tcl-b7baa5cf544d8865daa4745ad9616caabfedd664.zip tcl-b7baa5cf544d8865daa4745ad9616caabfedd664.tar.gz tcl-b7baa5cf544d8865daa4745ad9616caabfedd664.tar.bz2 |
2004-07-21 Kevin Kenny <kennykb@acm.org>
* generic/tclBasic.c (DeleteInterpProc):
* generic/tclLiteral.c (TclCleanupLiteralTable):
* generic/tclInt.h: added a TclCleanupLiteralTable function,
called from DeleteInterpProc, that frees internal representations
of shared literals early when an interpreter is being deleted.
This change corrects a number of memory mismanagement issues in
the cases where the internal representation of one literal
contains a reference to another, and avoids conditions such as
resolved variable names referring to procedure and namespace
contexts that no longer exist. [Bug 994838]
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 6e97632..16d5052 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.109 2004/07/12 01:56:12 msofer Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.110 2004/07/21 00:42:38 kennykb Exp $ */ #include "tclInt.h" @@ -1002,6 +1002,7 @@ DeleteInterpProc(interp) * table, as it will be freed later in this function without further use. */ + TclCleanupLiteralTable(interp, &(iPtr->literalTable)); TclHandleFree(iPtr->handle); TclTeardownNamespace(iPtr->globalNsPtr); |