+++ /dev/null
-"""\r
-_PyType_Lookup() returns a borrowed reference.\r
-This attacks the call in dictobject.c.\r
-"""\r
-\r
-class A(object):\r
- pass\r
-\r
-class B(object):\r
- def __del__(self):\r
- print 'hi'\r
- del D.__missing__\r
-\r
-class D(dict):\r
- class __missing__:\r
- def __init__(self, *args):\r
- pass\r
-\r
-\r
-d = D()\r
-a = A()\r
-a.cycle = a\r
-a.other = B()\r
-del a\r
-\r
-prev = None\r
-while 1:\r
- d[5]\r
- prev = (prev,)\r