Skip to content

Commit

Permalink
bpo-40489: Add test case for dict contain use after free (pythonGH-19906
Browse files Browse the repository at this point in the history
)
  • Loading branch information
corona10 authored May 4, 2020
1 parent caa3ef2 commit 785f5e6
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions Lib/test/test_dict.py
Original file line number Diff line number Diff line change
Expand Up @@ -1324,6 +1324,19 @@ def __eq__(self, other):
d = {0: set()}
(0, X()) in d.items()

def test_dict_contain_use_after_free(self):
# bpo-40489
class S(str):
def __eq__(self, other):
d.clear()
return NotImplemented

def __hash__(self):
return hash('test')

d = {S(): 'value'}
self.assertFalse('test' in d)

def test_init_use_after_free(self):
class X:
def __hash__(self):
Expand Down

0 comments on commit 785f5e6

Please sign in to comment.