summaryrefslogtreecommitdiffstats
path: root/generic/tclTrace.c
diff options
context:
space:
mode:
authordkf <dkf@noemail.net>2009-10-17 22:35:57 (GMT)
committerdkf <dkf@noemail.net>2009-10-17 22:35:57 (GMT)
commitd2ff7e38aceaf1b35515ef8f18d2cda7d0034cbe (patch)
tree3b20f9da036fc4ea0a45e81d762efb0f84c787bb /generic/tclTrace.c
parent9890bb03e7b798e74d77b195f1faa8c2e2cd4fea (diff)
downloadtcl-d2ff7e38aceaf1b35515ef8f18d2cda7d0034cbe.zip
tcl-d2ff7e38aceaf1b35515ef8f18d2cda7d0034cbe.tar.gz
tcl-d2ff7e38aceaf1b35515ef8f18d2cda7d0034cbe.tar.bz2
Fix [Bug 2629338]: Stop evil unset traces from accessing freed memory.
FossilOrigin-Name: 3164b694cde7cb01dafc6be7fd7ec8d764f61052
Diffstat (limited to 'generic/tclTrace.c')
-rw-r--r--generic/tclTrace.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclTrace.c b/generic/tclTrace.c
index bc6d289..346defc 100644
--- a/generic/tclTrace.c
+++ b/generic/tclTrace.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclTrace.c,v 1.47.2.1 2008/10/08 14:52:39 dgp Exp $
+ * RCS: @(#) $Id: tclTrace.c,v 1.47.2.2 2009/10/17 22:35:58 dkf Exp $
*/
#include "tclInt.h"
@@ -2894,6 +2894,7 @@ Tcl_UntraceVar2(
} else {
prevPtr->nextPtr = nextPtr;
}
+ tracePtr->nextPtr = NULL;
Tcl_EventuallyFree((ClientData) tracePtr, TCL_DYNAMIC);
for (tracePtr = nextPtr; tracePtr != NULL;