]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-72680: Fix false positives when using zipfile.is_zipfile() (GH-134250)
authorTim Hatch <timhatch@netflix.com>
Wed, 21 May 2025 01:32:41 +0000 (18:32 -0700)
committerGitHub <noreply@github.com>
Wed, 21 May 2025 01:32:41 +0000 (18:32 -0700)
commit1298511b41ec0f9be925c12f3830e94fe8f7e7dc
treeb78c9417d7203fdd5d47a8c1f5d5aecb9fc8ab8e
parentd327159eb4dd286973d10af93999de90a860880a
gh-72680: Fix false positives when using zipfile.is_zipfile() (GH-134250)

bpo-28494: Improve zipfile.is_zipfile reliability

The zipfile.is_zipfile function would only search for the EndOfZipfile
section header. This failed to correctly identify non-zipfiles that
contained this header. Now the zipfile.is_zipfile function verifies
the first central directory entry.

Changes:
* Extended zipfile.is_zipfile to verify zipfile catalog
* Added tests to validate failure of binary non-zipfiles
* Reuse 'concat' handling for is_zipfile

Co-authored-by: John Jolly <john.jolly@gmail.com>
Lib/test/test_zipfile/test_core.py
Lib/zipfile/__init__.py
Misc/NEWS.d/next/Library/2017-12-30-18-21-00.bpo-28494.Dt_Wks.rst [new file with mode: 0644]