summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-01-29 17:37:59 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-01-29 17:37:59 (GMT)
commit2f36a2d3491daec49498178ed26a70e629304a8d (patch)
treedac49cf692a8eb53f464603e06464408be4e0451 /generic/tclVar.c
parent4d5ff6cd13d58d6399e7ff7310a8ec2634ee5ec7 (diff)
downloadtcl-2f36a2d3491daec49498178ed26a70e629304a8d.zip
tcl-2f36a2d3491daec49498178ed26a70e629304a8d.tar.gz
tcl-2f36a2d3491daec49498178ed26a70e629304a8d.tar.bz2
Protect against extension variable resolvers that fail to play by
the post-Var Reform rules.
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r--generic/tclVar.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c
index a6f6cf4..33071ae 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -3914,7 +3914,8 @@ Tcl_GetVariableFullName(
} else if (iPtr->varFramePtr->procPtr) {
int index = varPtr - iPtr->varFramePtr->compiledLocals;
- if (index < iPtr->varFramePtr->numCompiledLocals) {
+ if (index >= 0
+ && index < iPtr->varFramePtr->numCompiledLocals) {
namePtr = localName(iPtr->varFramePtr, index);
Tcl_AppendObjToObj(objPtr, namePtr);
}