Index: generic/nsf.c =================================================================== diff -u -N -r32cc7bc92e8e60041fe886ba06ee8af28bdf6e4d -re83499241f8bccaddd3bede18121393dcb756ac5 --- generic/nsf.c (.../nsf.c) (revision 32cc7bc92e8e60041fe886ba06ee8af28bdf6e4d) +++ generic/nsf.c (.../nsf.c) (revision e83499241f8bccaddd3bede18121393dcb756ac5) @@ -23017,7 +23017,7 @@ } if (c == '%') { - Tcl_Obj *listObj = NULL, **listElements; + Tcl_Obj *listObj = NULL, **listElements = NULL; int nrArgs = objc-1, nrPosArgs = objc - firstPosArg, nrElements = 0; char c1, *firstActualArgument = nrArgs > 0 ? ObjStr(objv[1]) : NULL; const char *c1Ptr; @@ -23071,6 +23071,7 @@ /*fprintf(stderr, "nrElements=%d, nra=%d firstPos %d objc %d\n", nrElements, nrArgs, firstPosArg, objc);*/ + assert(listElements != NULL); if (nrElements > nrPosArgs) { /* * Insert default subcommand depending on number of arguments. @@ -31863,7 +31864,7 @@ NsfOCgetMethod(Tcl_Interp *interp, NsfObject *object, Tcl_Obj *nameObj) { int result; NsfParsedParam parsedParam; - const Nsf_Param *paramPtr; + const Nsf_Param *paramPtr = NULL; CallFrame frame, *framePtr = &frame, *uplevelVarFramePtr; nonnull_assert(interp != NULL); @@ -32916,7 +32917,7 @@ } create_method_exit: - if (autoNameCreate && result == TCL_OK) { + if (autoNameCreate && result == TCL_OK && newObject != NULL) { newObject->flags |= NSF_IS_AUTONAMED; }