Index: generic/nsf.c =================================================================== diff -u -N -r76da43095b7249f7bb5fae80c989f9aa0182a487 -r6042ab0563421425280b064579c53aa8daa2bc71 --- generic/nsf.c (.../nsf.c) (revision 76da43095b7249f7bb5fae80c989f9aa0182a487) +++ generic/nsf.c (.../nsf.c) (revision 6042ab0563421425280b064579c53aa8daa2bc71) @@ -24105,14 +24105,17 @@ if (nextParamPtr > lastParamPtr || ((nextParamPtr->flags & NSF_ARG_NODASHALNUM) != 0u)) { - Tcl_Obj *methodPathObj; - - methodPathObj = NsfMethodNamePath(interp, CallStackGetTclFrame(interp, NULL, 0), - NsfMethodName(procNameObj)); - return NsfUnexpectedNonposArgumentError(interp, argumentString, - (Nsf_Object *)object, - currentParamPtr, paramPtr, - methodPathObj); + int result; + Tcl_Obj *methodPathObj= NsfMethodNamePath(interp, + CallStackGetTclFrame(interp, NULL, 0), + NsfMethodName(procNameObj)); + INCR_REF_COUNT(methodPathObj); + result = NsfUnexpectedNonposArgumentError(interp, argumentString, + (Nsf_Object *)object, + currentParamPtr, paramPtr, + methodPathObj); + DECR_REF_COUNT(methodPathObj); + return result; } pPtr = currentParamPtr = nextParamPtr; }