Fix for SF bug 532646. This is a little simpler than what Neal
suggested there, based upon a better analysis (__getattr__ is a red
herring). Will backport to 2.2.
diff --git a/Lib/test/test_class.py b/Lib/test/test_class.py
index 151074e..5240b3a 100644
--- a/Lib/test/test_class.py
+++ b/Lib/test/test_class.py
@@ -274,3 +274,17 @@
try: hash(C2())
except TypeError: pass
else: raise TestFailed, "hash(C2()) should raise an exception"
+
+
+# Test for SF bug 532646
+
+class A:
+ pass
+A.__call__ = A()
+a = A()
+try:
+ a() # This should not segfault
+except RuntimeError:
+ pass
+else:
+ raise TestFailed, "how could this not have overflowed the stack?"