Index: generic/nsf.c =================================================================== diff -u -N -rbfe8276e7cf9460ea643acc87e1474edd720bd42 -r736930e9bcae64c47aa54a49cbd15d0fa60e46c4 --- generic/nsf.c (.../nsf.c) (revision bfe8276e7cf9460ea643acc87e1474edd720bd42) +++ generic/nsf.c (.../nsf.c) (revision 736930e9bcae64c47aa54a49cbd15d0fa60e46c4) @@ -11798,6 +11798,8 @@ Tcl_Obj *formattedObj = NsfParamDefsVirtualFormat(interp, paramsPtr, contextObject, pattern, formatFunction); if (formattedObj != NULL) { Tcl_ListObjAppendList(interp, listObj, formattedObj); + DECR_REF_COUNT2("paramDefsObj", formattedObj); + return 1; } } @@ -11858,12 +11860,14 @@ int argsResolved = 0; if (contextObject != NULL && pPtr->type && strncmp(pPtr->type, "virtual", 7) == 0) { - Tcl_Obj *formattedObj = NsfParamDefsVirtualFormat(interp, pPtr, contextObject, pattern, NsfParamDefsSyntax); + Tcl_Obj *formattedObj = NsfParamDefsVirtualFormat(interp, pPtr, contextObject, + pattern, NsfParamDefsSyntax); if (formattedObj != NULL) { argsResolved = 1; if (needSpace) Tcl_AppendLimitedToObj(argStringObj, " ", 1, INT_MAX, NULL); Tcl_AppendObjToObj(argStringObj, formattedObj); + DECR_REF_COUNT2("paramDefsObj", formattedObj); } } if (argsResolved == 0) {