diff options
author | msofer <msofer@noemail.net> | 2002-09-03 15:04:41 (GMT) |
---|---|---|
committer | msofer <msofer@noemail.net> | 2002-09-03 15:04:41 (GMT) |
commit | 4a23eb0589a5f0eacd0fc40b0f95d2ae5fa863fd (patch) | |
tree | dc445e8dbdf061a49703c6fc264734fac1f91efb /generic/tclVar.c | |
parent | af09e51dc1e2afb28c6db8b0844624d9a53b6917 (diff) | |
download | tcl-4a23eb0589a5f0eacd0fc40b0f95d2ae5fa863fd.zip tcl-4a23eb0589a5f0eacd0fc40b0f95d2ae5fa863fd.tar.gz tcl-4a23eb0589a5f0eacd0fc40b0f95d2ae5fa863fd.tar.bz2 |
* generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on
error return from TclGetFrame.
FossilOrigin-Name: bdce2449bc89cb85ca53554daf6c1008574d5b4e
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r-- | generic/tclVar.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c index 48cc6e1..26a1bc2 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -15,7 +15,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclVar.c,v 1.63 2002/08/05 03:24:41 dgp Exp $ + * RCS: @(#) $Id: tclVar.c,v 1.64 2002/09/03 15:04:42 msofer Exp $ */ #include "tclInt.h" @@ -3644,11 +3644,13 @@ Tcl_UpVar2(interp, frameName, part1, part2, localName, flags) result = TclGetFrame(interp, frameName, &framePtr); if (result == -1) { - return TCL_ERROR; + result = TCL_ERROR; + goto done; } result = ObjMakeUpvar(interp, framePtr, part1Ptr, part2, 0, localName, flags, -1); + done: TclDecrRefCount(part1Ptr); return result; } |