diff options
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclZlib.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclZlib.c b/generic/tclZlib.c index 1ee8919..23472cf 100644 --- a/generic/tclZlib.c +++ b/generic/tclZlib.c @@ -2371,7 +2371,7 @@ ZlibPushSubcmd( const char *const *pushOptions = pushDecompressOptions; enum pushOptions {poDictionary, poHeader, poLevel, poLimit}; Tcl_Obj *headerObj = NULL, *compDictObj = NULL; - int limit = 1, dummy; + int limit = DEFAULT_BUFFER_SIZE, dummy; if (objc < 4) { Tcl_WrongNumArgs(interp, 2, objv, "mode channel ?options...?"); @@ -3661,6 +3661,9 @@ ZlibStackChannelTransform( goto error; } cd->inAllocated = DEFAULT_BUFFER_SIZE; + if (cd->inAllocated < cd->readAheadLimit) { + cd->inAllocated = cd->readAheadLimit; + } cd->inBuffer = ckalloc(cd->inAllocated); if (cd->flags & IN_HEADER) { if (inflateGetHeader(&cd->inStream, &cd->inHeader.header) != Z_OK) { |