aboutsummaryrefslogtreecommitdiff
path: root/jim.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2011-04-12 13:30:37 +1000
committerSteve Bennett <steveb@workware.net.au>2011-04-12 13:30:37 +1000
commitc6573385979a55b9c78caf7e272aa772452048ac (patch)
treef609a87c6c7bc6a42d60e9d121bdc61c4a62dfb3 /jim.c
parent1b4e9d79690603c8db3cb53bcf4bbf180101fbde (diff)
downloadjimtcl-c6573385979a55b9c78caf7e272aa772452048ac.zip
jimtcl-c6573385979a55b9c78caf7e272aa772452048ac.tar.gz
jimtcl-c6573385979a55b9c78caf7e272aa772452048ac.tar.bz2
Fix [for] crash if loop var is unset
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.c')
-rw-r--r--jim.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/jim.c b/jim.c
index 5943eb8..78b4db2 100644
--- a/jim.c
+++ b/jim.c
@@ -10743,9 +10743,13 @@ static int Jim_ForCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv
goto evalnext;
}
- objPtr = Jim_GetVariable(interp, varNamePtr, JIM_NONE);
+ objPtr = Jim_GetVariable(interp, varNamePtr, JIM_ERRMSG);
/* Increment */
+ if (objPtr == NULL) {
+ retval = JIM_ERR;
+ goto out;
+ }
if (!Jim_IsShared(objPtr) && objPtr->typePtr == &intObjType) {
currentVal = ++objPtr->internalRep.wideValue;
Jim_InvalidateStringRep(objPtr);