Commit 718fbf07 authored by Victor Stinner's avatar Victor Stinner

_PyUnicode_CheckConsistency() ensures that the unicode string ends with a

null character
parent 3065093b
...@@ -375,10 +375,13 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content) ...@@ -375,10 +375,13 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content)
{ {
Py_ssize_t i; Py_ssize_t i;
Py_UCS4 maxchar = 0; Py_UCS4 maxchar = 0;
void *data = PyUnicode_DATA(ascii); void *data;
Py_UCS4 ch;
data = PyUnicode_DATA(ascii);
for (i=0; i < ascii->length; i++) for (i=0; i < ascii->length; i++)
{ {
Py_UCS4 ch = PyUnicode_READ(kind, data, i); ch = PyUnicode_READ(kind, data, i);
if (ch > maxchar) if (ch > maxchar)
maxchar = ch; maxchar = ch;
} }
...@@ -398,6 +401,7 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content) ...@@ -398,6 +401,7 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content)
assert(maxchar >= 0x10000); assert(maxchar >= 0x10000);
assert(maxchar <= MAX_UNICODE); assert(maxchar <= MAX_UNICODE);
} }
assert(PyUnicode_READ(kind, data, ascii->length) == 0);
} }
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment