summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-07-11 21:56:32 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-07-11 21:56:32 (GMT)
commit59ded443ac132275413b2e6f6e9cb4eb6cba468b (patch)
treec705d43e1582e5709cbf4a4c93c8790a2a58ea15 /generic/tclExecute.c
parentd6146b2e552c294199df0354470b89fe955a7345 (diff)
downloadtcl-59ded443ac132275413b2e6f6e9cb4eb6cba468b.zip
tcl-59ded443ac132275413b2e6f6e9cb4eb6cba468b.tar.gz
tcl-59ded443ac132275413b2e6f6e9cb4eb6cba468b.tar.bz2
[cea0344a1] Restore a clearing of the ensemble rewrite in one execution path
so attempts to use the data after free are not made. Test namespace-50.9 demonstrates the need for this.
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index c0cbd9e..e539161 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -2078,6 +2078,13 @@ TclNRExecuteByteCode(
#endif
/*
+ * Test namespace-50.9 demonstrates the need for this call.
+ * Use a --enable-symbols=mem bug to see.
+ */
+
+ TclResetRewriteEnsemble(interp, 1);
+
+ /*
* Push the callback for bytecode execution
*/