]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Lib/test/crashers/borrowed_ref_2.py
AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python...
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / crashers / borrowed_ref_2.py
1 """
2 _PyType_Lookup() returns a borrowed reference.
3 This attacks PyObject_GenericSetAttr().
4
5 NB. on my machine this crashes in 2.5 debug but not release.
6 """
7
8 class A(object):
9 pass
10
11 class B(object):
12 def __del__(self):
13 print "hi"
14 del C.d
15
16 class D(object):
17 def __set__(self, obj, value):
18 self.hello = 42
19
20 class C(object):
21 d = D()
22
23 def g():
24 pass
25
26
27 c = C()
28 a = A()
29 a.cycle = a
30 a.other = B()
31
32 lst = [None] * 1000000
33 i = 0
34 del a
35 while 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