Issue #17137: When an Unicode string is resized, the internal wide character
string (wstr) format is now cleared.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index abe793d..51160f8 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -702,6 +702,10 @@
if (!PyUnicode_IS_ASCII(unicode))
_PyUnicode_WSTR_LENGTH(unicode) = length;
}
+ else if (_PyUnicode_HAS_WSTR_MEMORY(unicode)) {
+ PyObject_DEL(_PyUnicode_WSTR(unicode));
+ _PyUnicode_WSTR(unicode) = NULL;
+ }
PyUnicode_WRITE(PyUnicode_KIND(unicode), PyUnicode_DATA(unicode),
length, 0);
assert(_PyUnicode_CheckConsistency(unicode, 0));