From: Benedikt Johannes Date: Tue, 10 Mar 2026 16:33:56 +0000 (+0100) Subject: gh-145044: avoid calling `Py_DECREF` in `unsafe_object_compare` on immortal objects... X-Git-Tag: v3.15.0a8~371 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50f82d062b3b59a09d6b63648df22d46f7f2b010;p=thirdparty%2FPython%2Fcpython.git gh-145044: avoid calling `Py_DECREF` in `unsafe_object_compare` on immortal objects (#145045) --- diff --git a/Objects/listobject.c b/Objects/listobject.c index 62d04ab150a7..1fcedd3a28c9 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -2795,11 +2795,12 @@ unsafe_object_compare(PyObject *v, PyObject *w, MergeState *ms) if (PyBool_Check(res_obj)) { res = (res_obj == Py_True); + assert(_Py_IsImmortal(res_obj)); } else { res = PyObject_IsTrue(res_obj); + Py_DECREF(res_obj); } - Py_DECREF(res_obj); /* Note that we can't assert * res == PyObject_RichCompareBool(v, w, Py_LT);