diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | generic/tclCompCmds.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2004-02-17 Donal K. Fellows <donal.k.fellows@man.ac.uk> + + * generic/tclCompCmds.c (TclCompileSwitchCmd): Bozo mistake in + memory releasing order when in an error case. [Bug 898910] + 2004-02-16 Jeff Hobbs <jeffh@ActiveState.com> * generic/tclTrace.c (TclTraceExecutionObjCmd) diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 477c4fe..a368383 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCompCmds.c,v 1.55 2004/01/20 15:40:37 dkf Exp $ + * RCS: @(#) $Id: tclCompCmds.c,v 1.56 2004/02/17 20:55:33 dkf Exp $ */ #include "tclInt.h" @@ -3283,7 +3283,6 @@ TclCompileSwitchCmd(interp, parsePtr, envPtr) 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); @@ -3297,6 +3296,7 @@ TclCompileSwitchCmd(interp, parsePtr, envPtr) Tcl_AddObjErrorInfo(interp, errInfBuf, -1); ckfree(errInfBuf); } + ckfree((char *)argv); return code; } |