#3711 alleged bug claimed in TraceVar.3

obsolete: 8.5a6
open
Don Porter
46. Traces (50)
5
2013-04-10
2007-05-10
Don Porter
No

Near the end of TraceVar.3, we see:

BUGS
Tcl doesn’t do any error checking to prevent
trace procedures from mis-using the interpreter
during traces with TCL_INTERP_DESTROYED set.

It would be a fairly simple matter for
TclCallVarTraces to pass in a value of
(interp == NULL) in exactly those cases
when it is setting the TCL_INTERP_DESTROYED
flag. A Tcl_TraceVarProc certainly can't
abuse an interp it never receives a pointer
for.

I suppose there's too many existing
Tcl_TraceVarProcs that implicitly assume
they receive a non-NULL interp argument
to do anything like this before Tcl 9.

Oh well, at least it's recorded.

Discussion

  • Don Porter
    Don Porter
    2013-01-07

    • priority: 5 --> 9
     
  • Don Porter
    Don Porter
    2013-04-10

    • priority: 9 --> 5