summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2006-10-10 16:45:04 (GMT)
committerdgp <dgp@users.sourceforge.net>2006-10-10 16:45:04 (GMT)
commit0c73b8718f673b740c084eb18f8a0c07cfa0f5ae (patch)
tree25870be224e105d3bd19250e7910a02242142fe2
parentace73331e77188941b8e884f9036765f9ca0f29d (diff)
downloadtcl-0c73b8718f673b740c084eb18f8a0c07cfa0f5ae.zip
tcl-0c73b8718f673b740c084eb18f8a0c07cfa0f5ae.tar.gz
tcl-0c73b8718f673b740c084eb18f8a0c07cfa0f5ae.tar.bz2
* generic/tclNamespace.c (TclTeardownNamespace): After the
commandPathSourceList of a namespace is cleared, set the commandPathSourceList to NULL so we don't try to walk the list a second time, possibly after it is freed. [Bug 1566526]
-rw-r--r--ChangeLog7
-rw-r--r--generic/tclNamesp.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6443050..4630f7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-10-10 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclNamespace.c (TclTeardownNamespace): After the
+ commandPathSourceList of a namespace is cleared, set the
+ commandPathSourceList to NULL so we don't try to walk the list
+ a second time, possibly after it is freed. [Bug 1566526]
+
2006-10-09 Miguel Sofer <msofer@users.sf.net>
* doc/UpVar.3: brough the docs in accordance to the code. Ever
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index 74d7f41..a2e01d2 100644
--- a/generic/tclNamesp.c
+++ b/generic/tclNamesp.c
@@ -22,7 +22,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclNamesp.c,v 1.100 2006/08/28 13:13:57 dgp Exp $
+ * RCS: @(#) $Id: tclNamesp.c,v 1.101 2006/10/10 16:45:04 dgp Exp $
*/
#include "tclInt.h"
@@ -1112,6 +1112,7 @@ TclTeardownNamespace(
nsPathPtr->nsPtr = NULL;
nsPathPtr = nsPathPtr->nextPtr;
} while (nsPathPtr != NULL);
+ nsPtr->commandPathSourceList = NULL;
}
/*