From: Jelle Zijlstra Date: Fri, 11 Mar 2022 09:05:08 +0000 (-0800) Subject: bpo-46881: Fix refleak from GH-31616 (GH-31805) X-Git-Tag: v3.11.0a7~282 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=54ab9ad312ea53db40e31712454272e1d4c0315f;p=thirdparty%2FPython%2Fcpython.git bpo-46881: Fix refleak from GH-31616 (GH-31805) --- diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 9052c53f11b8..2261b9a03162 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -677,10 +677,12 @@ unicode_result_ready(PyObject *unicode) if (kind == PyUnicode_1BYTE_KIND) { const Py_UCS1 *data = PyUnicode_1BYTE_DATA(unicode); Py_UCS1 ch = data[0]; - if (unicode != LATIN1(ch)) { + PyObject *latin1_char = LATIN1(ch); + if (unicode != latin1_char) { + Py_INCREF(latin1_char); Py_DECREF(unicode); } - return get_latin1_char(ch); + return latin1_char; } }