mirror of
https://github.com/python/cpython.git
synced 2025-08-09 19:38:42 +00:00
[3.12] gh-126405: fix use-after-free in _asyncio.Future.remove_done_callback
(GH-126733) (#126737)
gh-126405: fix use-after-free in `_asyncio.Future.remove_done_callback` (GH-126733)
(cherry picked from commit 37c57dfad1
)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
This commit is contained in:
parent
86efa2f1fa
commit
b13b84ab70
1 changed files with 2 additions and 0 deletions
|
@ -1073,8 +1073,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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue