Index: tclCompCmds.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclCompCmds.c,v
retrieving revision 1.55
diff -u -r1.55 tclCompCmds.c
--- tclCompCmds.c	20 Jan 2004 15:40:37 -0000	1.55
+++ tclCompCmds.c	17 Feb 2004 17:33:25 -0000
@@ -3283,11 +3283,6 @@
 	code = TclCompileScript(interp, bodyTokenArray[i+1].start,
 		bodyTokenArray[i+1].size, envPtr);
 	if (code != TCL_OK) {
-	    ckfree((char *)argv);
-	    ckfree((char *)bodyTokenArray);
-	    ckfree((char *)fixupArray);
-	    ckfree((char *)fixupTargetArray);
-
 	    if (code == TCL_ERROR) {
 		char *errInfBuf =
 			ckalloc(strlen(argv[i])+40+TCL_INTEGER_SPACE);
@@ -3297,6 +3292,11 @@
 		Tcl_AddObjErrorInfo(interp, errInfBuf, -1);
 		ckfree(errInfBuf);
 	    }
+	    ckfree((char *)argv);
+	    ckfree((char *)bodyTokenArray);
+	    ckfree((char *)fixupArray);
+	    ckfree((char *)fixupTargetArray);
+
 	    return code;
 	}
 
