From 0617b6e18b84d854b0648e0893b62a893b7638fd Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 5 Oct 2011 23:26:01 +0200 Subject: unicode_fromascii() checks that the input is ASCII in debug mode --- Objects/unicodeobject.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 134ae29..bf2b32a 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -1537,12 +1537,20 @@ PyUnicode_FromString(const char *u) } static PyObject* -unicode_fromascii(const unsigned char* u, Py_ssize_t size) +unicode_fromascii(const unsigned char* s, Py_ssize_t size) { - PyObject *res = PyUnicode_New(size, 127); + PyObject *res; +#ifdef Py_DEBUG + const unsigned char *p; + const unsigned char *end = s + size; + for (p=s; p < end; p++) { + assert(*p < 128); + } +#endif + res = PyUnicode_New(size, 127); if (!res) return NULL; - memcpy(PyUnicode_1BYTE_DATA(res), u, size); + memcpy(PyUnicode_1BYTE_DATA(res), s, size); return res; } -- cgit v0.12