unicode_fromascii() doesn't check string content twice in debug mode
_PyUnicode_CheckConsistency() also checks string content.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 8d04ea4..d6a250e 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1768,15 +1768,12 @@
unicode_fromascii(const unsigned char* s, Py_ssize_t size)
{
PyObject *unicode;
+ if (size == 1) {
#ifdef Py_DEBUG
- const unsigned char *p;
- const unsigned char *end = s + size;
- for (p=s; p < end; p++) {
- assert(*p < 128);
- }
+ assert(s[0] < 128);
#endif
- if (size == 1)
return get_latin1_char(s[0]);
+ }
unicode = PyUnicode_New(size, 127);
if (!unicode)
return NULL;