blob: 1a7b3ff7504dd3d1c816825e3bdb2f033024226c [file] [log] [blame]
Armin Rigo5953bac2006-07-06 07:58:18 +00001"""
2_PyType_Lookup() returns a borrowed reference.
3This attacks PyObject_GenericSetAttr().
4
5NB. on my machine this crashes in 2.5 debug but not release.
6"""
7
8class A(object):
9 pass
10
11class B(object):
12 def __del__(self):
13 print "hi"
14 del C.d
15
16class D(object):
17 def __set__(self, obj, value):
18 self.hello = 42
19
20class C(object):
21 d = D()
22
23 def g():
24 pass
25
26
27c = C()
28a = A()
29a.cycle = a
30a.other = B()
31
32lst = [None] * 1000000
33i = 0
34del a
35while 1:
36 c.d = 42 # segfaults in PyMethod_New(im_func=D.__set__, im_self=d)
37 lst[i] = c.g # consume the free list of instancemethod objects
38 i += 1