Use Py_CLEAR(). Add unrelated test.
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 01dded6..aab0c57 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -23,6 +23,9 @@
self.s = self.thetype(word)
self.d = dict.fromkeys(word)
+ def test_new_or_init(self):
+ self.assertRaises(TypeError, self.thetype, [], 2)
+
def test_uniquification(self):
actual = sorted(self.s)
expected = sorted(self.d)
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 289d5d3..d57217c 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -105,7 +105,7 @@
w = (PySetObject *)make_new_set(&PyFrozenSet_Type, NULL);
if (w == NULL)
return NULL;
- Py_DECREF(w->data);
+ Py_CLEAR(w->data);
Py_INCREF(d);
w->data = d;
return (PyObject *)w;