From: Serhiy Storchaka Date: Mon, 27 Nov 2023 17:58:43 +0000 (+0200) Subject: gh-111789: Use PyDict_GetItemRef() in Python/_warnings.c (gh-112080) X-Git-Tag: v3.13.0a3~620 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=936c503a442ee062c837e334f237796554c792ff;p=thirdparty%2FPython%2Fcpython.git gh-111789: Use PyDict_GetItemRef() in Python/_warnings.c (gh-112080) --- diff --git a/Python/_warnings.c b/Python/_warnings.c index 4b7fb8882471..d4765032824e 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -425,15 +425,15 @@ already_warned(PyInterpreterState *interp, PyObject *registry, PyObject *key, Py_DECREF(version_obj); } else { - already_warned = PyDict_GetItemWithError(registry, key); + if (PyDict_GetItemRef(registry, key, &already_warned) < 0) { + return -1; + } if (already_warned != NULL) { int rc = PyObject_IsTrue(already_warned); + Py_DECREF(already_warned); if (rc != 0) return rc; } - else if (PyErr_Occurred()) { - return -1; - } } /* This warning wasn't found in the registry, set it. */