diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2009-05-08 02:21:09 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2009-05-08 02:21:09 (GMT) |
commit | b0db7876f6b3796fdaaf44512cf1fb86966b870d (patch) | |
tree | 05ecac66766da24500459f542ebea7be4a73fb27 | |
parent | 7592bff0075283d77566536c9bea32df7073e73d (diff) | |
download | tcl-b0db7876f6b3796fdaaf44512cf1fb86966b870d.zip tcl-b0db7876f6b3796fdaaf44512cf1fb86966b870d.tar.gz tcl-b0db7876f6b3796fdaaf44512cf1fb86966b870d.tar.bz2 |
* generic/tclObj.c (Tcl_GetCommandFromObj): fix for bug [2785893],
insure that a command in a deleted namespace cannot be found
through a cached name.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | generic/tclObj.c | 3 |
2 files changed, 7 insertions, 2 deletions
@@ -1,5 +1,9 @@ -2009-04-30 Miguel Sofer <msofer@users.sf.net> +2009-05-07 Miguel Sofer <msofer@users.sf.net> + * generic/tclObj.c (Tcl_GetCommandFromObj): fix for bug [2785893], + insure that a command in a deleted namespace cannot be found + through a cached name. + * generic/tclBasic.c: Let coroutines start with a much smaller * generic/tclCompile.h: stack: 200 words (previously was 2000, * generic/tclExecute.c: the same as interps) diff --git a/generic/tclObj.c b/generic/tclObj.c index e130dbb..f143eb2 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.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: tclObj.c,v 1.151 2009/02/10 22:49:48 nijtmans Exp $ + * RCS: @(#) $Id: tclObj.c,v 1.152 2009/05/08 02:21:09 msofer Exp $ */ #include "tclInt.h" @@ -3554,6 +3554,7 @@ Tcl_GetCommandFromObj( || (cmdPtr = resPtr->cmdPtr, cmdPtr->cmdEpoch != resPtr->cmdEpoch) || (interp != cmdPtr->nsPtr->interp) || (cmdPtr->flags & CMD_IS_DELETED) + || (cmdPtr->nsPtr->flags & NS_DYING) || ((resPtr->refNsPtr != NULL) && (((refNsPtr = (Namespace *) TclGetCurrentNamespace(interp)) != resPtr->refNsPtr) |