summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2010-08-03 17:16:14 (GMT)
committerandreas_kupries <akupries@shaw.ca>2010-08-03 17:16:14 (GMT)
commitda79f427f85ace17a26ef3b193801e43db893655 (patch)
treede51016c7fbd67b2b337d0064793717dc821a5d5
parent6126b749e49798b51c35dce430c698d2b0ff82e4 (diff)
downloadtcl-da79f427f85ace17a26ef3b193801e43db893655.zip
tcl-da79f427f85ace17a26ef3b193801e43db893655.tar.gz
tcl-da79f427f85ace17a26ef3b193801e43db893655.tar.bz2
* tests/var.test (var-19.1): [Bug 3037525]: Added test
demonstrating the local hashtable deletion crash and fix.
-rw-r--r--ChangeLog5
-rw-r--r--tests/var.test9
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b137ba6..f43e6cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2010-08-03 Andreas Kupries <andreask@activestate.com>
+ * tests/var.test (var-19.1): [Bug 3037525]: Added test
+ demonstrating the local hashtable deletion crash and fix.
+
+2010-08-03 Andreas Kupries <andreask@activestate.com>
+
* tests/info.test (info-39.1, test_info_frame): Changed absolute
to relative frame adressing to handle difference between testing
with -singleproc 1 vs. the default -singleproc 0. Plus comment
diff --git a/tests/var.test b/tests/var.test
index c5c304e..65343f6 100644
--- a/tests/var.test
+++ b/tests/var.test
@@ -14,7 +14,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: var.test,v 1.31.2.1 2010/02/02 00:42:41 dkf Exp $
+# RCS: @(#) $Id: var.test,v 1.31.2.2 2010/08/03 17:16:14 andreas_kupries Exp $
#
if {[lsearch [namespace children] ::tcltest] == -1} {
@@ -753,6 +753,13 @@ test var-18.1 {array unset and unset traces: Bug 2939073} -setup {
} -cleanup {
unset x already
} -result 0
+
+
+test var-19.1 {crash when freeing locals hashtable: Bug 3037525} {
+ proc foo {} { catch {upvar 0 dummy \$index} }
+ foo ; # This crashes without the fix for the bug
+ rename foo {}
+} {}
catch {namespace delete ns}
catch {unset arr}