Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
GH-125789: fix fut._callbacks to always return a copy of callbacks#125922
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
Misc/NEWS.d/next/Library/2024-10-24-14-08-10.gh-issue-125789.eaiAMw.rst Outdated Show resolvedHide resolved
Uh oh!
There was an error while loading. Please reload this page.
122f789 to 63f1957Comparekumaraditya303 commented Oct 24, 2024
== Tests result: SUCCESS ==1 test skipped: test_asyncio.test_unix_events30 tests OK.Total duration: 6 min 8 secTotal tests: run=2,242 skipped=74Total test files: run=31/31 skipped=1Result: SUCCESSRefleak tested |
picnixz left a comment • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
kumaraditya303 commented Oct 25, 2024
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 <[email protected]> (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 <[email protected]> (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.