diff --git a/Objects/object.c b/Objects/object.c index 51188b7862b..25e64e1e74a 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -403,6 +403,8 @@ PyObject_Str(PyObject *v) if (v == NULL) return PyUnicode_FromString(""); if (PyUnicode_CheckExact(v)) { + if (PyUnicode_READY(v) < 0) + return NULL; Py_INCREF(v); return v; } @@ -424,6 +426,9 @@ PyObject_Str(PyObject *v) Py_DECREF(res); return NULL; } + if (PyUnicode_READY(res) < 0) + return NULL; + assert(_PyUnicode_CheckConsistency(res, 1)); return res; } diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 7aa5ff0e1a3..1e44357c2fb 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -408,8 +408,6 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content) assert(maxchar <= 0x10FFFF); } } - if (check_content && !unicode_is_singleton(op)) - assert(ascii->hash == -1); return 1; } #endif