gh-111789: Use PyDict_GetItemRef() in Python/_warnings.c (gh-112080)

This commit is contained in:
Serhiy Storchaka 2023-11-27 19:58:43 +02:00 committed by GitHub
parent befbad3663
commit 936c503a44
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -425,15 +425,15 @@ already_warned(PyInterpreterState *interp, PyObject *registry, PyObject *key,
Py_DECREF(version_obj); Py_DECREF(version_obj);
} }
else { else {
already_warned = PyDict_GetItemWithError(registry, key); if (PyDict_GetItemRef(registry, key, &already_warned) < 0) {
return -1;
}
if (already_warned != NULL) { if (already_warned != NULL) {
int rc = PyObject_IsTrue(already_warned); int rc = PyObject_IsTrue(already_warned);
Py_DECREF(already_warned);
if (rc != 0) if (rc != 0)
return rc; return rc;
} }
else if (PyErr_Occurred()) {
return -1;
}
} }
/* This warning wasn't found in the registry, set it. */ /* This warning wasn't found in the registry, set it. */