diff options
author | Ma Lin <animalize@users.noreply.github.com> | 2021-07-05 01:10:44 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-05 01:10:44 (GMT) |
commit | a9a69bb3ea1e6cf54513717212aaeae0d61b24ee (patch) | |
tree | 4e3fd9a92c86fb3384be26c29c57323ebafdd1c2 /Lib | |
parent | 5644c7b3ffd49bed58dc095be6e6148e0bb4431e (diff) | |
download | cpython-a9a69bb3ea1e6cf54513717212aaeae0d61b24ee.zip cpython-a9a69bb3ea1e6cf54513717212aaeae0d61b24ee.tar.gz cpython-a9a69bb3ea1e6cf54513717212aaeae0d61b24ee.tar.bz2 |
bpo-41486: zlib uses an UINT32_MAX sliding window for the output buffer (GH-26143)
* zlib uses an UINT32_MAX sliding window for the output buffer
These funtions have an initial output buffer size parameter:
- zlib.decompress(data, /, wbits=MAX_WBITS, bufsize=DEF_BUF_SIZE)
- zlib.Decompress.flush([length])
If the initial size > UINT32_MAX, use an UINT32_MAX sliding window, instead of clamping to UINT32_MAX.
Speed up when (the initial size == the actual size).
This fixes a memory consumption and copying performance regression in earlier 3.10 beta releases if someone used an output buffer larger than 4GiB with zlib.decompress.
Reviewed-by: Gregory P. Smith
Diffstat (limited to 'Lib')
0 files changed, 0 insertions, 0 deletions