diff options
-rw-r--r-- | Objects/object.c | 5 | ||||
-rw-r--r-- | Objects/unicodeobject.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Objects/object.c b/Objects/object.c index 51188b7..25e64e1 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -403,6 +403,8 @@ PyObject_Str(PyObject *v) if (v == NULL) return PyUnicode_FromString("<NULL>"); 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 7aa5ff0..1e44357 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 |