Index: generic/xotcl.c =================================================================== diff -u -r6b0cd00860c693633f4709316afd3225ba802a37 -r8d3eacad1a0602d7e55943bd35973a9a9e7ba05e --- generic/xotcl.c (.../xotcl.c) (revision 6b0cd00860c693633f4709316afd3225ba802a37) +++ generic/xotcl.c (.../xotcl.c) (revision 8d3eacad1a0602d7e55943bd35973a9a9e7ba05e) @@ -6372,8 +6372,8 @@ } } ov[2] = argList; + INCR_REF_COUNT(ov[2]); /*fprintf(stderr, "final arglist = <%s>\n",ObjStr(argList)); */ - /* TODO: check for memleak of argList */ #else ov[2] = XOTclGlobalObjects[XOTE_ARGS]; #endif @@ -6416,6 +6416,11 @@ AssertionAddProc(interp, ObjStr(name), aStore, precondition, postcondition); } +#if defined(CANONICAL_ARGS) + if (haveNonposArgs) { + DECR_REF_COUNT(ov[2]); + } +#endif DECR_REF_COUNT(ov[3]); return result;