Index: generic/xotcl.c =================================================================== diff -u -re308078f0e97d3ab61462fa52333f97f32a72ca7 -r9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8 --- generic/xotcl.c (.../xotcl.c) (revision e308078f0e97d3ab61462fa52333f97f32a72ca7) +++ generic/xotcl.c (.../xotcl.c) (revision 9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8) @@ -8528,7 +8528,7 @@ static int XOTclOInfoMethod(ClientData cd, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { XOTclObject *obj = (XOTclObject*)cd; - Tcl_Namespace *nsp = obj->nsPtr; + Tcl_Namespace *nsp; char *cmd, *pattern; int modifiers = 0; XOTclObjectOpt *opt; @@ -8537,6 +8537,7 @@ if (objc < 2) return XOTclObjErrArgCnt(interp, obj->cmdName, "info ?args?"); + nsp = obj->nsPtr; opt = obj->opt; cmd = ObjStr(objv[1]); pattern = (objc > 2) ? ObjStr(objv[2]) : 0; Index: library/store/XOTclSdbm/sdbm.c =================================================================== diff -u -rc72f9f638677608fab1502cd696c8f2d6b2952f9 -r9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8 --- library/store/XOTclSdbm/sdbm.c (.../sdbm.c) (revision c72f9f638677608fab1502cd696c8f2d6b2952f9) +++ library/store/XOTclSdbm/sdbm.c (.../sdbm.c) (revision 9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8) @@ -114,7 +114,8 @@ /* * build the file names */ - dirname = strcat(strcpy(dirname, file), DIRFEXT); + strcpy(dirname, file); + dirname = strcat(dirname, DIRFEXT); pagname = strcpy(dirname + strlen(dirname) + 1, file); pagname = strcat(pagname, PAGFEXT); Index: library/xml/TclExpat-1.1/readfilemap.c =================================================================== diff -u -rc72f9f638677608fab1502cd696c8f2d6b2952f9 -r9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8 --- library/xml/TclExpat-1.1/readfilemap.c (.../readfilemap.c) (revision c72f9f638677608fab1502cd696c8f2d6b2952f9) +++ library/xml/TclExpat-1.1/readfilemap.c (.../readfilemap.c) (revision 9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8) @@ -59,27 +59,32 @@ } if (fstat(fd, &sb) < 0) { perror(name); + close(fd); return 0; } if (!S_ISREG(sb.st_mode)) { fprintf(stderr, "%s: not a regular file\n", name); + close(fd); return 0; } nbytes = sb.st_size; p = malloc(nbytes); if (!p) { fprintf(stderr, "%s: out of memory\n", name); + close(fd); return 0; } n = read(fd, p, nbytes); if (n < 0) { perror(name); close(fd); + free(p); return 0; } if (n != nbytes) { fprintf(stderr, "%s: read unexpected number of bytes\n", name); close(fd); + free(p); return 0; } processor(p, nbytes, name, arg); Index: library/xml/TclExpat-1.1/xmlparse.c =================================================================== diff -u -rc72f9f638677608fab1502cd696c8f2d6b2952f9 -r9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8 --- library/xml/TclExpat-1.1/xmlparse.c (.../xmlparse.c) (revision c72f9f638677608fab1502cd696c8f2d6b2952f9) +++ library/xml/TclExpat-1.1/xmlparse.c (.../xmlparse.c) (revision 9a4096c393b0a94ea8d17f2fef3cdca0f1202fb8) @@ -799,7 +799,7 @@ const char **nextPtr) { const ENCODING *internalEnc = XmlGetInternalEncoding(); - const char *dummy; + const char *dummy = NULL; /* make cppcheck happy */ const char **eventPP; const char **eventEndPP; if (enc == encoding) { @@ -1081,6 +1081,7 @@ return XML_ERROR_BAD_CHAR_REF; if (characterDataHandler) { XML_Char buf[XML_ENCODE_MAX]; + buf[0] = '\0'; characterDataHandler(handlerArg, buf, XmlEncode(n, (ICHAR *)buf)); } else if (defaultHandler) @@ -1295,7 +1296,7 @@ const char **nextPtr) { const char *s = *startPtr; - const char *dummy; + const char *dummy = NULL; /* make cppcheck happy */ const char **eventPP; const char **eventEndPP; if (enc == encoding) {