Issue #26081: Fix refleak in _asyncio.Future.__iter__().throw.
diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index 7df6fa5..df81b10 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -1044,14 +1044,16 @@
     else {
         if (PyExceptionClass_Check(type)) {
             val = PyObject_CallObject(type, NULL);
+            PyErr_SetObject(type, val);
+            Py_DECREF(val);
         }
         else {
             val = type;
             assert (PyExceptionInstance_Check(val));
             type = (PyObject*)Py_TYPE(val);
             assert (PyExceptionClass_Check(type));
+            PyErr_SetObject(type, val);
         }
-        PyErr_SetObject(type, val);
     }
     return FutureIter_iternext(self);
 }