[Python-checkins] bpo-46881: Fix refleak from GH-31616 (GH-31805)
Fidget-Spinner
webhook-mailer at python.org
Fri Mar 11 04:05:17 EST 2022
https://github.com/python/cpython/commit/54ab9ad312ea53db40e31712454272e1d4c0315f
commit: 54ab9ad312ea53db40e31712454272e1d4c0315f
branch: main
author: Jelle Zijlstra <jelle.zijlstra at gmail.com>
committer: Fidget-Spinner <kenjin4096 at gmail.com>
date: 2022-03-11T17:05:08+08:00
summary:
bpo-46881: Fix refleak from GH-31616 (GH-31805)
files:
M Objects/unicodeobject.c
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 9052c53f11b8e..2261b9a031625 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;
}
}
More information about the Python-checkins
mailing list