[3.13] gh-142560: prevent use-after-free in search-like methods by exporting buffer in bytearray (GH-142938)#142986
Merged
serhiy-storchaka merged 3 commits intopython:3.13from Dec 24, 2025
Conversation
… by exporting buffer in bytearray (pythonGH-142938) (cherry picked from commit 220f0b1) Co-authored-by: wangxiaolei <fatelei@gmail.com>
This was referenced Dec 19, 2025
Member
|
Sadly, the build fails :-( |
Contributor
Author
|
Will work on resolving in a bit; free threaded build worked for me... i need to improve my local tools for doing multiple builds |
Contributor
Author
|
Updated to drop the critical sections / locking |
kumaraditya303
approved these changes
Dec 20, 2025
serhiy-storchaka
approved these changes
Dec 22, 2025
Member
serhiy-storchaka
left a comment
There was a problem hiding this comment.
LGTM. 👍
But the NEWS entry should be in the Core and Builtins section.
vstinner
approved these changes
Dec 23, 2025
serhiy-storchaka
approved these changes
Dec 24, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This backport is more intricate as free threading / locking / critical sections was only added to
bytearrayin 3.14. This drops all critical section pieces (thread-safety forbytearraywas added in 3.14)this makesbytearraysafer in 3.13 (The methods that use_bytearray_with_buffershould now be thread safe as it does the critical section), but I did not make all the methods thread safe that are thread safe in 3.14 (Without the clinic annotation doing so well is a lot more difficult)(cherry picked from commit 220f0b1)
bytearraysearch methods via re-entrant__index__#142560