summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
diff options
context:
space:
mode:
authormsofer <msofer@noemail.net>2010-07-31 20:28:01 (GMT)
committermsofer <msofer@noemail.net>2010-07-31 20:28:01 (GMT)
commitab646ccb329bcd7203124703fd1019cc7f30bbc2 (patch)
tree25547d8f3b4bdefbce76290fc0349e3087a6496e /generic/tclVar.c
parentc3e1c052bebb018249c7fdb73e871216f283dd07 (diff)
downloadtcl-ab646ccb329bcd7203124703fd1019cc7f30bbc2.zip
tcl-ab646ccb329bcd7203124703fd1019cc7f30bbc2.tar.gz
tcl-ab646ccb329bcd7203124703fd1019cc7f30bbc2.tar.bz2
* generic/tclVar.c: fix for crash [Bug 3037525]: lose fickle
optimisation in TclDeleteVars (used for runtime-created locals) FossilOrigin-Name: e6d5551c1c62bc849c341e1eeb52afec123255c6
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r--generic/tclVar.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c
index c07cc6f..7587eec 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -16,7 +16,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclVar.c,v 1.199 2010/05/31 08:54:14 nijtmans Exp $
+ * RCS: @(#) $Id: tclVar.c,v 1.200 2010/07/31 20:28:04 msofer Exp $
*/
#include "tclInt.h"
@@ -5330,14 +5330,9 @@ TclDeleteVars(
for (varPtr = VarHashFirstVar(tablePtr, &search); varPtr != NULL;
varPtr = VarHashNextVar(&search)) {
- /*
- * Lie about the validity of the hashtable entry. In this way the
- * variables will be deleted by VarHashDeleteTable.
- */
-
- VarHashInvalidateEntry(varPtr);
UnsetVarStruct(varPtr, NULL, iPtr, VarHashGetKey(varPtr), NULL, flags,
-1);
+ VarHashDeleteEntry(varPtr);
}
VarHashDeleteTable(tablePtr);
}