Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
GH-125789: fixfut._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 ourterms of service andprivacy 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 OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
kumaraditya303 commentedOct 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: SUCCESS Refleak 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 commentedOct 25, 2024
I think it is more appropriate to add that to your PR which fixes the UAF issues. |
cae853e intopython:mainUh oh!
There was an error while loading.Please reload this page.
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 the3.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 commitcae853e)
…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 commitf54e1a2)Co-authored-by: Kumar Aditya <kumaraditya@python.org>(cherry picked from commitcae853e)
…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 commitcae853e)
…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.