New submission from Florian Bruhin <[email protected]>:
Found mostly by accident:
>>> import email.headerregistry
>>> reg = email.headerregistry.HeaderRegistry()
>>> h = reg('Content-Disposition', 'inline; 0*²')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.10/email/headerregistry.py", line 608, in __call__
return self[name](name, value)
File "/usr/lib/python3.10/email/headerregistry.py", line 196, in __new__
cls.parse(value, kwds)
File "/usr/lib/python3.10/email/headerregistry.py", line 452, in parse
kwds['parse_tree'] = parse_tree = cls.value_parser(value)
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2705, in
parse_content_disposition_header
disp_header.append(parse_mime_parameters(value[1:]))
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2569, in
parse_mime_parameters
token, value = get_parameter(value)
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2431, in
get_parameter
token, value = get_section(value)
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2384, in
get_section
section.number = int(digits)
ValueError: invalid literal for int() with base 10: '²'
This probably happens because:
>>> '²'.isdigit()
True
>>> int('²')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '²'
----------
components: Library (Lib)
messages: 385162
nosy: The Compiler, barry, maxking, r.david.murray
priority: normal
severity: normal
status: open
title: email: ValueError in get_section when parsing header with non-ASCII digit
type: behavior
versions: Python 3.10, Python 3.6, Python 3.7, Python 3.8, Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42946>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com