Fix TypeError in ported_string when input is email.header.Header#149
Open
AndreasLF wants to merge 1 commit intoSpamScope:developfrom
Open
Fix TypeError in ported_string when input is email.header.Header#149AndreasLF wants to merge 1 commit intoSpamScope:developfrom
AndreasLF wants to merge 1 commit intoSpamScope:developfrom
Conversation
…dding a test case.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #148
As detailed in the linked issue, the
ported_stringutility crashes with aTypeErrorwhen it receives anemail.header.Headerobject instead of a string or bytes. This behavior occurs in certain edge cases involving specific encodings or Python environment configurations.Currently,
ported_stringassumes that any input that is not a string must be bytes, leading to a crash when it attempts to callstr(raw_data, encoding)on aHeaderobject.Changes
mailparser/utils.py: Added an explicit isinstance check foremail.header.Header. Since Header objects implement__str__, they are now safely converted to string usingstr()before processing.tests/test_utils.py: Added unit test that parses aHeaderobject to ported string, verifying that the fix works.