summaryrefslogtreecommitdiffstats
path: root/generic/tclCompExpr.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclCompExpr.c')
-rw-r--r--generic/tclCompExpr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c
index e5cddb3..6acf13e 100644
--- a/generic/tclCompExpr.c
+++ b/generic/tclCompExpr.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclCompExpr.c,v 1.50 2007/04/17 14:49:53 dkf Exp $
+ * RCS: @(#) $Id: tclCompExpr.c,v 1.51 2007/04/23 19:04:43 kennykb Exp $
*/
#include "tclInt.h"
@@ -202,7 +202,7 @@ ParseExpr(
* those operands that require run time
* substitutions. */
{
- OpNode *nodes;
+ OpNode *nodes = NULL;
int nodesAvailable = 64, nodesUsed = 0;
int code = TCL_OK;
int numLiterals = 0, numFuncs = 0;
@@ -723,6 +723,9 @@ ParseExpr(
numBytes -= scanned;
}
+ if (code != TCL_OK && nodes != NULL) {
+ ckfree((char*) nodes);
+ }
if (code == TCL_OK) {
*opTreePtr = nodes;
} else if (interp == NULL) {