diff options
author | dgp <dgp@users.sourceforge.net> | 2009-11-10 20:19:02 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2009-11-10 20:19:02 (GMT) |
commit | 21b6d0ea71a6fe478c7ce14c003d6b60920f6a96 (patch) | |
tree | 6ac497f4928f32c677b0c6501ef314a0ef23f90d | |
parent | da7f246c3bdbc8ce45d43a8fe08c5551f801988d (diff) | |
download | tcl-21b6d0ea71a6fe478c7ce14c003d6b60920f6a96.zip tcl-21b6d0ea71a6fe478c7ce14c003d6b60920f6a96.tar.gz tcl-21b6d0ea71a6fe478c7ce14c003d6b60920f6a96.tar.bz2 |
* generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT
evaluation.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | generic/tclBasic.c | 18 |
2 files changed, 13 insertions, 10 deletions
@@ -1,6 +1,9 @@ 2009-11-10 Don Porter <dgp@users.sourceforge.net> - * generic/tclObj.c: Plus memory leak in TclContinuationsEnter(). + * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT + evaluation. + + * generic/tclObj.c: Plug memory leak in TclContinuationsEnter(). [Bug 2895323] 2009-11-09 Stuart Cassoff <stwo@users.sf.net> diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 63548ea..50f1a3d 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.295.2.15 2009/11/09 22:36:39 dgp Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.295.2.16 2009/11/10 20:19:02 dgp Exp $ */ #include "tclInt.h" @@ -5236,17 +5236,17 @@ TclEvalObjEx( Tcl_DecrRefCount(ctxPtr->data.eval.path); } TclStackFree(interp, ctxPtr); + } - /* - * Now release the lock on the continuation line information, if - * any, and restore the caller's settings. - */ + /* + * Now release the lock on the continuation line information, if + * any, and restore the caller's settings. + */ - if (iPtr->scriptCLLocPtr) { - Tcl_Release (iPtr->scriptCLLocPtr); - } - iPtr->scriptCLLocPtr = saveCLLocPtr; + if (iPtr->scriptCLLocPtr) { + Tcl_Release (iPtr->scriptCLLocPtr); } + iPtr->scriptCLLocPtr = saveCLLocPtr; } else { /* * Let the compiler/engine subsystem do the evaluation. |