Closed
Description
Bug report
Bug description:
During fuzzing of Python standard libraries, the following code snippet causes an AttributeError
with the following message: AttributeError: 'InvalidHeaderDefect' object has no attribute 'all_defects'
. This occurs in the all_defects
function at line 140 in email/_header_value_parser.py
.
import email._header_value_parser
email._header_value_parser.get_address("!an??:=m==fr2@[C")
Exception Trace
Traceback (most recent call last):
File "rep.py", line 3, in <module>
email._header_value_parser.get_address("!an??:=m==fr2@[C")
File "/usr/lib/python3.12/email/_header_value_parser.py", line 1988, in get_address
token, value = get_group(value)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 1954, in get_group
token, value = get_group_list(value)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 1926, in get_group_list
token, value = get_mailbox_list(value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 1860, in get_mailbox_list
token, value = get_mailbox(value)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 1822, in get_mailbox
for x in token.all_defects):
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 140, in all_defects
return sum((x.all_defects for x in self), self.defects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 140, in <genexpr>
return sum((x.all_defects for x in self), self.defects)
^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 140, in all_defects
return sum((x.all_defects for x in self), self.defects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 140, in <genexpr>
return sum((x.all_defects for x in self), self.defects)
^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 140, in all_defects
return sum((x.all_defects for x in self), self.defects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/email/_header_value_parser.py", line 140, in <genexpr>
return sum((x.all_defects for x in self), self.defects)
^^^^^^^^^^^^^
AttributeError: 'InvalidHeaderDefect' object has no attribute 'all_defects'
CPython versions tested on:
3.12, 3.11, 3.10, 3.9
Operating systems tested on:
Linux
Activity
TypeError: '<' not supported between instances of 'NoneType' and 'int'
raised during call toemail.message_from_file
#134151[-]`AttributeError` in email._header_value_parser.get_address[/-][+]`AttributeError` in `email._header_value_parser.get_address`[/+]bitdancer commentedon May 19, 2025
This will be fixed by #134194.
UnboundLocalError
inemail._header_value_parser.parse_message_id
#134152gh-134155: fix AttributeError in email._header_value_parser.get_addre…
pythongh-134155: fix AttributeError in email._header_value_parser.get…
[3.13] gh-134155: fix AttributeError in email._header_value_parser.ge…
[3.14] gh-134155: fix AttributeError in email._header_value_parser.ge…
3 remaining items