Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
Open
Description
Bug report
Bug description:
During fuzzing of Python standard libraries, the following code snippet causes a TypeError with the following message:TypeError: '<' not supported between instances of 'NoneType' and 'int'
. This occurs in thedecode_params
function at line 419 inemail/utils.py
.
import sysimport ioimport emaild = io.StringIO(open(sys.argv[1], "r").read())email.message_from_file(d)
POC File:
https://github.com/FuturesLab/POC/blob/main/py-email/poc-02
Exception Trace
Traceback (most recent call last): File "rep.py", line 5, in <module> email.message_from_file(d) File "/usr/lib/python3.12/email/__init__.py", line 53, in message_from_file return Parser(*args, **kws).parse(fp) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/email/parser.py", line 54, in parse return feedparser.close() ^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/email/feedparser.py", line 185, in close self._call_parse() File "/usr/lib/python3.12/email/feedparser.py", line 178, in _call_parse self._parse() File "/usr/lib/python3.12/email/feedparser.py", line 304, in _parsegen boundary = self._cur.get_boundary() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/email/message.py", line 861, in get_boundary boundary = self.get_param('boundary', missing) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/email/message.py", line 725, in get_param for k, v in self._get_params_preserve(failobj, header): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/email/message.py", line 674, in _get_params_preserve params = utils.decode_params(params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/email/utils.py", line 419, in decode_params continuations.sort()TypeError: '<' not supported between instances of 'NoneType' and 'int'
CPython versions tested on:
3.12, 3.11, 3.10, 3.9
Operating systems tested on:
Linux