]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46881: Fix refleak from GH-31616 (GH-31805)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Fri, 11 Mar 2022 09:05:08 +0000 (01:05 -0800)
committerGitHub <noreply@github.com>
Fri, 11 Mar 2022 09:05:08 +0000 (17:05 +0800)
Objects/unicodeobject.c

index 9052c53f11b8e237253d5af4070f61995dbcd113..2261b9a0316259bb60d48737705f21dc2bafc2d4 100644 (file)
@@ -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;
         }
     }