Tcl Source Code

Artifact [d4de506f01]
Login

Artifact d4de506f0140436d06334b5cb480d13d937c8b6a:

Attachment "3127687.patch" to ticket [3127687fff] added by nijtmans 2010-12-06 05:16:09.
### Eclipse Workspace Patch 1.0
#P tcl8.4
Index: generic/tclCmdMZ.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclCmdMZ.c,v
retrieving revision 1.82.2.32
diff -u -r1.82.2.32 tclCmdMZ.c
--- generic/tclCmdMZ.c	6 Apr 2010 07:45:56 -0000	1.82.2.32
+++ generic/tclCmdMZ.c	5 Dec 2010 22:10:28 -0000
@@ -3340,7 +3340,7 @@
 		    flags |= (TCL_TRACE_ENTER_EXEC | 
 			      TCL_TRACE_LEAVE_EXEC);
 		}
-		strcpy(tcmdPtr->command, command);
+		memcpy(tcmdPtr->command, command, length + 1);
 		name = Tcl_GetString(objv[3]);
 		if (Tcl_TraceCommand(interp, name, flags, TraceCommandProc,
 			(ClientData) tcmdPtr) != TCL_OK) {
@@ -3572,7 +3572,7 @@
 		tcmdPtr->length = length;
 		tcmdPtr->refCount = 1;
 		flags |= TCL_TRACE_DELETE;
-		strcpy(tcmdPtr->command, command);
+		memcpy(tcmdPtr->command, command, length + 1);
 		name = Tcl_GetString(objv[3]);
 		if (Tcl_TraceCommand(interp, name, flags, TraceCommandProc,
 			(ClientData) tcmdPtr) != TCL_OK) {
@@ -3791,7 +3791,7 @@
 		}
 		tvarPtr->length = length;
 		flags |= TCL_TRACE_UNSETS | TCL_TRACE_RESULT_OBJECT;
-		strcpy(tvarPtr->command, command);
+		memcpy(tvarPtr->command, command, length + 1);
 		name = Tcl_GetString(objv[3]);
 		flagMask = TCL_GLOBAL_ONLY | TCL_NAMESPACE_ONLY;
 		varPtr = TclLookupVar(interp, name, NULL,