summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclIO.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 6e5dc05..e7eaefa 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -346,8 +346,8 @@ static Tcl_ObjType chanObjType = {
*
* ChanRead --
*
- * Read up to bytes using the inputProc of chanPtr, store them at dst,
- * and return the number of bytes stored.
+ * Read up to dstsize bytes using the inputProc of chanPtr, store
+ * them at dst, and return the number of bytes stored.
*
* Results:
* The return value of the driver inputProc,
@@ -373,6 +373,12 @@ ChanRead(
{
int bytesRead, result;
+ /*
+ * If the caller asked for zero bytes, we'd force the inputProc
+ * to return zero bytes, and then misinterpret that as EOF
+ */
+ assert(dstSize > 0);
+
if (WillRead(chanPtr) < 0) {
return -1;
}