gh-111789: Use PyDict_GetItemRef() in Python/codecs.c (gh-112082)

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

View file

@ -146,15 +146,14 @@ PyObject *_PyCodec_Lookup(const char *encoding)
PyUnicode_InternInPlace(&v);
/* First, try to lookup the name in the registry dictionary */
PyObject *result = PyDict_GetItemWithError(interp->codec_search_cache, v);
PyObject *result;
if (PyDict_GetItemRef(interp->codec_search_cache, v, &result) < 0) {
goto onError;
}
if (result != NULL) {
Py_INCREF(result);
Py_DECREF(v);
return result;
}
else if (PyErr_Occurred()) {
goto onError;
}
/* Next, scan the search functions in order of registration */
const Py_ssize_t len = PyList_Size(interp->codec_search_path);