diff options
author | dgp <dgp@users.sourceforge.net> | 2020-09-02 16:20:20 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2020-09-02 16:20:20 (GMT) |
commit | de2793025fcbb875f0ac1e7efed956bbfedca273 (patch) | |
tree | 8eba11fbe31ea2508b92ea476bd053c13d005b5d | |
parent | 7cb8eb7218804199155464c4441c47b8a2fbf677 (diff) | |
download | tcl-de2793025fcbb875f0ac1e7efed956bbfedca273.zip tcl-de2793025fcbb875f0ac1e7efed956bbfedca273.tar.gz tcl-de2793025fcbb875f0ac1e7efed956bbfedca273.tar.bz2 |
Different fix where existing protection tools for nesting bytecode execution
calls are used. This solution suggests there may be many more places needing
protection. Any routine that gets passed "interp" is a possibility.
-rw-r--r-- | generic/tclExecute.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 0f1c2cc..70ed54a 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -5298,10 +5298,13 @@ TEBCresume( */ length = Tcl_GetCharLength(valuePtr); + DECACHE_STACK_INFO(); if (TclGetIntForIndexM(interp, value2Ptr, length-1, &index)!=TCL_OK) { + CACHE_STACK_INFO(); TRACE_ERROR(interp); goto gotError; } + CACHE_STACK_INFO(); if ((index < 0) || (index >= length)) { TclNewObj(objResultPtr); |