summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/codecs.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/Python/codecs.c b/Python/codecs.c
index b79bf55..545bf82 100644
--- a/Python/codecs.c
+++ b/Python/codecs.c
@@ -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);