Modify the segfaulting example to show why r53997 is not a solution to

it.
This commit is contained in:
Armin Rigo 2007-02-28 09:25:29 +00:00
parent cca75403c4
commit adf172339c
1 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,20 @@
# http://python.org/sf/1303614
class Y(object):
pass
class type_with_modifiable_dict(type, Y):
pass
class MyClass(object):
"""This class has its __dict__ attribute indirectly
exposed via the __dict__ getter/setter of Y.
"""
__metaclass__ = type_with_modifiable_dict
if __name__ == '__main__':
dictattr = Y.__dict__['__dict__']
dictattr.__delete__(MyClass) # if we set tp_dict to NULL,
print MyClass # doing anything with MyClass segfaults