diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index 6d06208dd1d70d..3a11cdc926f138 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -3514,15 +3514,11 @@ _asyncio_current_task_impl(PyObject *module, PyObject *loop) Py_INCREF(loop); } - ret = PyDict_GetItemWithError(state->current_tasks, loop); + int rc = PyDict_GetItemRef(state->current_tasks, loop, &ret); Py_DECREF(loop); - if (ret == NULL && PyErr_Occurred()) { - return NULL; - } - else if (ret == NULL) { + if (rc == 0) { Py_RETURN_NONE; } - Py_INCREF(ret); return ret; }