Visitar URL original
gh-92888: Fix memoryview bad `__index__` use after free by Fidget-Spinner · Pull Request #92946 · python/cpython · GitHub
Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
stylistic nits
  • Loading branch information
Fidget-Spinner committed May 19, 2022
commit 43c66d62749b43eb4e1f173959fee1cd75fbd622
5 changes: 3 additions & 2 deletions Lib/test/test_memoryview.py
Original file line number Diff line number Diff line change
Expand Up @@ -549,10 +549,11 @@ def test_memoryview_bad_index_uaf(self):
# memoryview Use After Free (memory_ass_sub) see gh-92888
uaf_backing = bytearray(bytearray.__basicsize__)
uaf_view = memoryview(uaf_backing).cast('n') # ssize_t format

memory_backing = None

Comment thread
Fidget-Spinner marked this conversation as resolved.
Outdated
class weird_index:
def __index__(self):
global memory_backing
nonlocal memory_backing
uaf_view.release() # release memoryview (UAF)
# free `uaf_backing` memory and allocate a new bytearray into it
memory_backing = uaf_backing.clear() or bytearray()
Expand Down