[issue26198] PyArg_ParseTuple with format "et#" and "es#" detects overflow by raising TypeError instead of ValueError
Hrvoje Nikšić
report at bugs.python.org
Mon Jan 25 11:24:48 EST 2016
Hrvoje Nikšić added the comment:
The problem can be encountered and easily reproduced by calling os.path functions, such as os.path.abspath, with a sufficiently large string on Windows:
>>> os.path.abspath("a" * 1024)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "P:\...\lib\ntpath.py", line 471, in abspath
TypeError: must be (buffer overflow), not str
The error message is somewhat confusing, making it look like the "must be" and "not" arguments are swapped. Ideally, the message could be along the lines of "must be a string of no more than X characters".
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26198>
_______________________________________
More information about the Python-bugs-list
mailing list