In _PyUnicode_Fini(), decref unicode_empty before tearng down the free
list. Discovered by Barry, fix approved by MAL.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index b096faa..8d04b2d 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -5225,6 +5225,8 @@
{
PyUnicodeObject *u = unicode_freelist;
+ Py_XDECREF(unicode_empty);
+ unicode_empty = NULL;
while (u != NULL) {
PyUnicodeObject *v = u;
u = *(PyUnicodeObject **)u;
@@ -5235,6 +5237,4 @@
}
unicode_freelist = NULL;
unicode_freelist_size = 0;
- Py_XDECREF(unicode_empty);
- unicode_empty = NULL;
}