bpo-38823: Clean up refleaks in _asyncio initialization. (GH-17195) · python/cpython@825e91b

GitHub

Original file line numberDiff line numberDiff line change@@ -3361,24 +3361,28 @@ PyInit__asyncio(void)

33613361Py_INCREF(&FutureType);

33623362if (PyModule_AddObject(m, "Future", (PyObject*)&FutureType) <0) {

33633363Py_DECREF(&FutureType);

3364+Py_DECREF(m);

33643365returnNULL;

33653366 }

3366336733673368Py_INCREF(&TaskType);

33683369if (PyModule_AddObject(m, "Task", (PyObject*)&TaskType) <0) {

33693370Py_DECREF(&TaskType);

3371+Py_DECREF(m);

33703372returnNULL;

33713373 }

3372337433733375Py_INCREF(all_tasks);

33743376if (PyModule_AddObject(m, "_all_tasks", all_tasks) <0) {

33753377Py_DECREF(all_tasks);

3378+Py_DECREF(m);

33763379returnNULL;

33773380 }

3378338133793382Py_INCREF(current_tasks);

33803383if (PyModule_AddObject(m, "_current_tasks", current_tasks) <0) {

33813384Py_DECREF(current_tasks);

3385+Py_DECREF(m);

33823386returnNULL;

33833387 }

33843388