Skip to content

gh-153578: Fix out-of-bounds write in bytearray.extend() with a reentrant __buffer__#153579

Open
tonghuaroot wants to merge 1 commit into
python:mainfrom
tonghuaroot:extend-reentrant-buffer-oob
Open

gh-153578: Fix out-of-bounds write in bytearray.extend() with a reentrant __buffer__#153579
tonghuaroot wants to merge 1 commit into
python:mainfrom
tonghuaroot:extend-reentrant-buffer-oob

Conversation

@tonghuaroot

Copy link
Copy Markdown
Contributor

bytearray.extend() clamped only the high bound of the append range to the current size after acquiring the
argument's buffer, so a __buffer__ that shrinks the bytearray left the low bound past the high bound and ran
a negative-size memmove. Clamp the low bound too, matching bytearray.__iadd__.

… reentrant __buffer__

bytearray.extend() clamped only the high bound of the append range to the
current size after acquiring the argument's buffer, so a __buffer__ that shrinks
the bytearray left the low bound past the high bound and ran a negative-size
memmove. Clamp the low bound too, matching bytearray.__iadd__.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant