summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2011-08-19 20:27:48 (GMT)
committerdgp <dgp@users.sourceforge.net>2011-08-19 20:27:48 (GMT)
commit6b86c2f514ad7c263691443055ad1d0a94a9f4f9 (patch)
tree0162290298d31cb6757eed6bca89246a63e35a79
parentb4307ec076f504b43a12901bb34c646ea5267391 (diff)
downloadtcl-6b86c2f514ad7c263691443055ad1d0a94a9f4f9.zip
tcl-6b86c2f514ad7c263691443055ad1d0a94a9f4f9.tar.gz
tcl-6b86c2f514ad7c263691443055ad1d0a94a9f4f9.tar.bz2
3393279, 3393280 ReflectClose(.) is missing Tcl_EventuallyFree() calls
at some of its exits.
-rw-r--r--ChangeLog3
-rw-r--r--generic/tclIORTrans.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index db4bf84..5e7821a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2011-08-19 Don Porter <dgp@users.sourceforge.net>
+ * 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;
}
}