From 718fbf078cef405318dc712a2c32fbc12e87de02 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 26 Apr 2012 00:39:37 +0200 Subject: _PyUnicode_CheckConsistency() ensures that the unicode string ends with a null character --- Objects/unicodeobject.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 7efa939..364de90 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -375,10 +375,13 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content) { Py_ssize_t i; 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++) { - Py_UCS4 ch = PyUnicode_READ(kind, data, i); + ch = PyUnicode_READ(kind, data, i); if (ch > maxchar) maxchar = ch; } @@ -398,6 +401,7 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content) assert(maxchar >= 0x10000); assert(maxchar <= MAX_UNICODE); } + assert(PyUnicode_READ(kind, data, ascii->length) == 0); } return 1; } -- cgit v0.12