GH-125789: fix fut._callbacks to always return a copy of callbacks#125922
GH-125789: fix fut._callbacks to always return a copy of callbacks#125922kumaraditya303 merged 2 commits intopython:mainfrom
fut._callbacks to always return a copy of callbacks#125922Conversation
Misc/NEWS.d/next/Library/2024-10-24-14-08-10.gh-issue-125789.eaiAMw.rst
Outdated
Show resolved
Hide resolved
122f789 to
63f1957
Compare
== Tests result: SUCCESS ==
1 test skipped:
test_asyncio.test_unix_events
30 tests OK.
Total duration: 6 min 8 sec
Total tests: run=2,242 skipped=74
Total test files: run=31/31 skipped=1
Result: SUCCESS
Refleak tested |
There was a problem hiding this comment.
I would add a test for that (e.g., one of the test that Nico wrote with the evil classes) to see that the interpreter does not crash anymore.
EDIT: My previous comment was wrong. We can still change the length by just adding new callbacks but we cannot change the type of the items.
I think it is more appropriate to add that to your PR which fixes the UAF issues. |
|
Thanks @kumaraditya303 for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13. |
|
Sorry, @kumaraditya303, I could not cleanly backport this to |
|
Sorry, @kumaraditya303, I could not cleanly backport this to |
|
GH-125976 is a backport of this pull request to the 3.13 branch. |
…backs (python#125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state. (cherry picked from commit cae853e)
…of callbacks (pythonGH-125922) (pythonGH-125976) pythonGH-125789: fix `fut._callbacks` to always return a copy of callbacks (pythonGH-125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state. (cherry picked from commit f54e1a2) Co-authored-by: Kumar Aditya <kumaraditya@python.org> (cherry picked from commit cae853e)
…lbacks (GH-125922) (#125977) GH-125789: fix `fut._callbacks` to always return a copy of callbacks (GH-125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state. Co-authored-by: Kumar Aditya <kumaraditya@python.org> (cherry picked from commit cae853e)
…backs (python#125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state.
Uh oh!
There was an error while loading. Please reload this page.