Index: generic/nsf.c =================================================================== diff -u -r6a3890ea40bf82f2ffea1481aeb80d1e2a4eec47 -rae5048628e2e4709a63515b2e4a892af9f065466 --- generic/nsf.c (.../nsf.c) (revision 6a3890ea40bf82f2ffea1481aeb80d1e2a4eec47) +++ generic/nsf.c (.../nsf.c) (revision ae5048628e2e4709a63515b2e4a892af9f065466) @@ -25181,6 +25181,7 @@ if (likely(result == TCL_OK)) { ParseContext pc; NsfParamDefs *paramDefs = parsedParam.paramDefs; + ParamDefsRefCountIncr(paramDefs); unsigned int processFlags = 0u; result = ArgumentParse(interp, objc, objv, NULL, NsfGlobalObjs[NSF_PARSE_ARGS], @@ -25205,10 +25206,9 @@ } } } - - ParseContextRelease(&pc); } - + ParamDefsRefCountDecr(paramDefs); + ParseContextRelease(&pc); } return result; }