From: Barry Warsaw Date: Tue, 3 Oct 2000 20:45:26 +0000 (+0000) Subject: _PyUnicode_Fini(): Initialize the local freelist walking variable `u' X-Git-Tag: v2.0c1~135 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5b4c22806fe6bdd7cb2d6c01e0a09e10c90be0bc;p=python _PyUnicode_Fini(): Initialize the local freelist walking variable `u' after unicode_empty has been freed, otherwise it might not point to the real start of the unicode_freelist. Final closure for SF bug #110681, Jitterbug PR#398. --- diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 8d04b2d0bb..b31675b496 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -5223,11 +5223,12 @@ void _PyUnicode_Init(void) void _PyUnicode_Fini(void) { - PyUnicodeObject *u = unicode_freelist; + PyUnicodeObject *u; Py_XDECREF(unicode_empty); unicode_empty = NULL; - while (u != NULL) { + + for (u = unicode_freelist; u != NULL;) { PyUnicodeObject *v = u; u = *(PyUnicodeObject **)u; if (v->str)