mirror of
https://github.com/python/cpython.git
synced 2025-10-14 18:59:46 +00:00
Fix resize_compact()
Issue #26217: resize_compact() must set wstr_length to 0 after freeing the wstr string. Otherwise, an assertion fails in _PyUnicode_CheckConsistency().
This commit is contained in:
parent
3743432302
commit
5bc03a6d4d
1 changed files with 2 additions and 0 deletions
|
@ -748,6 +748,8 @@ resize_compact(PyObject *unicode, Py_ssize_t length)
|
||||||
else if (_PyUnicode_HAS_WSTR_MEMORY(unicode)) {
|
else if (_PyUnicode_HAS_WSTR_MEMORY(unicode)) {
|
||||||
PyObject_DEL(_PyUnicode_WSTR(unicode));
|
PyObject_DEL(_PyUnicode_WSTR(unicode));
|
||||||
_PyUnicode_WSTR(unicode) = NULL;
|
_PyUnicode_WSTR(unicode) = NULL;
|
||||||
|
if (!PyUnicode_IS_ASCII(unicode))
|
||||||
|
_PyUnicode_WSTR_LENGTH(unicode) = 0;
|
||||||
}
|
}
|
||||||
#ifdef Py_DEBUG
|
#ifdef Py_DEBUG
|
||||||
unicode_fill_invalid(unicode, old_length);
|
unicode_fill_invalid(unicode, old_length);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue