You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The below code triggers an exception with the following message: ValueError: invalid literal for int() with base 10: '\x0c'. This occurs in _process_keyword_line at line 251 in pofile.py as a result of a failure to check the validity of an integer conversion.
import io
from babel.messages.pofile import read_po
data = io.StringIO("msgstr[\x0c]")
read_po(data)
Version
2.17.0
Trace report
Traceback (most recent call last):
File "rep.py", line 5, in <module>
read_po(data)
File "lib/python3.10/site-packages/babel/messages/pofile.py", line 406, in read_po
parser.parse(fileobj)
File "lib/python3.10/site-packages/babel/messages/pofile.py", line 331, in parse
self._process_message_line(lineno, line)
File "lib/python3.10/site-packages/babel/messages/pofile.py", line 221, in _process_message_line
self._process_keyword_line(lineno, line, obsolete)
File "/lib/python3.10/site-packages/babel/messages/pofile.py", line 251, in _process_keyword_line
idx = int(idxarg[:-1]) if has_bracket else 0
ValueError: invalid literal for int() with base 10: '\x0c'
The text was updated successfully, but these errors were encountered:
Do you have a link to a .po file "in the wild" that exhibits a msgstr keyword having an argument like that? As far as I can tell from the spec, as it were, plural msgstrs are expected to have numeric indices.
I see, I understand what you mean. In this case, since it's an invalid .po file, maybe a PoFileError should be raised to better reflect to the user that the file is invalid.
The below code triggers an exception with the following message:
ValueError: invalid literal for int() with base 10: '\x0c'
. This occurs in_process_keyword_line
at line 251 inpofile.py
as a result of a failure to check the validity of an integer conversion.Version
2.17.0
Trace report
The text was updated successfully, but these errors were encountered: