https://github.com/python/cpython/commit/37c57dfad12744608091653fd753a1f770e2479b
commit: 37c57dfad12744608091653fd753a1f770e2479b
branch: main
author: Kumar Aditya <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2024-11-12T18:01:34+05:30
summary:
gh-126405: fix use-after-free in `_asyncio.Future.remove_done_callback`
(#126733)
files:
M Modules/_asynciomodule.c
diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index 617a3dca35d9c2..f883125a2c70b2 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -1017,8 +1017,10 @@ _asyncio_Future_remove_done_callback_impl(FutureObj
*self, PyTypeObject *cls,
if (len == 1) {
PyObject *cb_tup = PyList_GET_ITEM(self->fut_callbacks, 0);
+ Py_INCREF(cb_tup);
int cmp = PyObject_RichCompareBool(
PyTuple_GET_ITEM(cb_tup, 0), fn, Py_EQ);
+ Py_DECREF(cb_tup);
if (cmp == -1) {
return NULL;
}
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]