]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43650: Fix MemoryError on zip.read in shutil._unpack_zipfile for large files...
authorIgor Bolshakov <ibolsch@gmail.com>
Mon, 17 May 2021 08:28:21 +0000 (11:28 +0300)
committerGitHub <noreply@github.com>
Mon, 17 May 2021 08:28:21 +0000 (01:28 -0700)
commitf32c7950e0077b6d9a8e217c2796fc582f18ca08
tree783fb3a3cd88974bf33f813170cd29789774de80
parent83f0f8d62f279f846a92fede2244beaa0149b9d8
bpo-43650: Fix MemoryError on zip.read in shutil._unpack_zipfile for large files (GH-25058)

`shutil.unpack_archive()` tries to read the whole file into memory, making no use of any kind of smaller buffer. Process crashes for really large files: I.e. archive: ~1.7G, unpacked: ~10G. Before the crash it can easily take away all available RAM on smaller systems. Had to pull the code form `zipfile.Zipfile.extractall()` to fix this

Automerge-Triggered-By: GH:gpshead
Lib/shutil.py
Misc/NEWS.d/next/Library/2021-03-29-00-23-30.bpo-43650.v01tic.rst [new file with mode: 0644]