Bug report
Bug description:
Found when implementing #123343. We have:
intPyUnicodeEncodeError_GetStart(PyObject*exc, Py_ssize_t*start)
{
Py_ssize_tsize;
PyObject*obj=get_unicode(((PyUnicodeErrorObject*)exc)->object,
"object");
if (!obj)
return-1;
*start= ((PyUnicodeErrorObject*)exc)->start;
size=PyUnicode_GET_LENGTH(obj);
if (*start<0)
*start=0; /*XXX check for values <0*/if (*start>=size)
*start=size-1;
Py_DECREF(obj);
return0;
}The line *start = size-1 might set start to -1 when start = 0, in which case this leads to assertion failures when the index is used normally.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
Bug report
Bug description:
Found when implementing #123343. We have:
The line
*start = size-1might setstartto-1whenstart = 0, in which case this leads to assertion failures when the index is used normally.CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
UnicodeError.__str__#124935UnicodeError.__str__(GH-124935) #125098UnicodeError.__str__(GH-124935) #125099startandendvalues inPyUnicodeErrorObject#123380