summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmin Rigo <arigo@tunes.org>2009-09-03 19:40:07 (GMT)
committerArmin Rigo <arigo@tunes.org>2009-09-03 19:40:07 (GMT)
commitf41669049039a2035acb8647ae7604e27a6bf6c5 (patch)
tree9308189020ef35da9813fbcd36c3385118461581
parentaf795e5eeae91f2c76029d7a11ac10ad91ae73d7 (diff)
downloadcpython-f41669049039a2035acb8647ae7604e27a6bf6c5.zip
cpython-f41669049039a2035acb8647ae7604e27a6bf6c5.tar.gz
cpython-f41669049039a2035acb8647ae7604e27a6bf6c5.tar.bz2
Found the next crasher by thinking about this logic in PyPy.
-rw-r--r--Lib/test/crashers/slot_tp_new.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/test/crashers/slot_tp_new.py b/Lib/test/crashers/slot_tp_new.py
new file mode 100644
index 0000000..061d7aa
--- /dev/null
+++ b/Lib/test/crashers/slot_tp_new.py
@@ -0,0 +1,11 @@
+"""
+Infinite C recursion involving PyObject_GetAttr in slot_tp_new.
+"""
+
+class X(object):
+ class __metaclass__(type):
+ pass
+ __new__ = 5
+
+X.__metaclass__.__new__ = property(X)
+print X()