Index: generic/nsf.c =================================================================== diff -u -N -r4d56aa3275ba44f4e85c7f62e435907727021958 -ra4b53da842c85c6439d4b7a6ceb5c06d1d699bfe --- generic/nsf.c (.../nsf.c) (revision 4d56aa3275ba44f4e85c7f62e435907727021958) +++ generic/nsf.c (.../nsf.c) (revision a4b53da842c85c6439d4b7a6ceb5c06d1d699bfe) @@ -4372,16 +4372,16 @@ static Tcl_Var CompiledLocalsLookup(CallFrame *varFramePtr, const char *varName) { - nonnull_assert(varFramePtr != NULL); - nonnull_assert(varName != NULL); - #if defined(NSF_CONSTANT_COMPILED_LOCAL_LOOKUP) { Tcl_Obj **varNameObjPtr; Tcl_Var result; TclVarHashTable *varTablePtr; Tcl_Obj *varNameObj; + nonnull_assert(varFramePtr != NULL); + nonnull_assert(varName != NULL); + varTablePtr = varFramePtr->varTablePtr; if (unlikely(varTablePtr == NULL)) { //fprintf(stderr, "CompiledLocalsLookup: creating varTablePtr\n"); @@ -4416,6 +4416,9 @@ Tcl_Obj **varNameObjPtr; int i, localCt, nameLength; + nonnull_assert(varFramePtr != NULL); + nonnull_assert(varName != NULL); + localCt = varFramePtr->numCompiledLocals; varNameObjPtr = &varFramePtr->localCachePtr->varName0; nameLength = (int)strlen(varName);