Skip to content

gh-153426: Raise BadZipFile for invalid UTF-8 filenames- #1 - #158591

Closed
williedevibes-prog wants to merge 1 commit into
python:mainfrom
williedevibes-prog:williedevibes-prog-patch-1
Closed

williedevibes-prog wants to merge 1 commit into
python:mainfrom
williedevibes-prog:williedevibes-prog-patch-1

Conversation

@williedevibes-prog

@williedevibes-prog williedevibes-prog commented Oct 2, 2026 •

Copy link
Copy Markdown

Raise Bad
williedevibes-prog#1 53426: Raise BadZipFile for invalid
UTF-8 filenames in zipfile
Problem
When a ZIP entry has the UTF-8 flag set
but its filename is not valid
UTF-8, zipfile raises UnicodeDecodeError
instead of BadZipFile.
Callers who catch BadZipFile for corrupt
archives miss this case.
Fix
[Describe in 1-2 sentences, e.g. "The
filename decoding in
Ziplnfo/_RealGetContents is now wrapped
so a UnicodeDecodeError is
re-raised as BadZipFile."]
Tests
Added a regression test in Lib/test/
test_zipfile/ that opens an archive
with an invalid UTF-8 filename and asserts
BadZipFile is raised.
The test failed before the change and
passes now.
Ran: python -m test test_zipfile
Before / after
Before: UnicodeDecodeError: 'utf-8' codec can't decode byte
After: zipfile.BadZipFile: File name is not valid UTF-8

Add error handling for UTF-8 filename decoding in zipfile.
@python-cla-bot

python-cla-bot Bot commented Oct 2, 2026

Copy link
Copy Markdown

The following commit authors need to sign the Contributor License Agreement:

CLA not signed

@bedevere-app

bedevere-app Bot commented Oct 2, 2026

Copy link
Copy Markdown

Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool.

If this change has little impact on Python users, wait for a maintainer to apply the skip news label instead.

@encukou

encukou commented Oct 2, 2026

Copy link
Copy Markdown
Member

This PR looks like autogenerated spam so I'll just close it. If you're human wanting to learn, please ask for explanation.

@encukou encukou closed this Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants