From 6b86c2f514ad7c263691443055ad1d0a94a9f4f9 Mon Sep 17 00:00:00 2001 From: dgp Date: Fri, 19 Aug 2011 20:27:48 +0000 Subject: 3393279, 3393280 ReflectClose(.) is missing Tcl_EventuallyFree() calls at some of its exits. --- ChangeLog | 3 +++ generic/tclIORTrans.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/ChangeLog b/ChangeLog index db4bf84..5e7821a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-08-19 Don Porter + * generic/tclIORTrans.c: [Bugs 3393279, 3393280] ReflectClose(.) is + missing Tcl_EventuallyFree() calls at some of its exits. + * generic/tclIO.c: [Bugs 3394654, 3393276] Revise FlushChannel() to account for the possibility that the ChanWrite() call might recycle the buffer out from under us. diff --git a/generic/tclIORTrans.c b/generic/tclIORTrans.c index 272306b..4806690 100644 --- a/generic/tclIORTrans.c +++ b/generic/tclIORTrans.c @@ -940,6 +940,7 @@ ReflectClose( int errorCode; if (!TransformDrain(rtPtr, &errorCode)) { + Tcl_EventuallyFree (rtPtr, (Tcl_FreeProc *) FreeReflectedTransform); return errorCode; } } @@ -948,6 +949,7 @@ ReflectClose( int errorCode; if (!TransformFlush(rtPtr, &errorCode, FLUSH_WRITE)) { + Tcl_EventuallyFree (rtPtr, (Tcl_FreeProc *) FreeReflectedTransform); return errorCode; } } -- cgit v0.12