diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py index 01dded64d5e..aab0c5782c4 100644 --- a/Lib/test/test_set.py +++ b/Lib/test/test_set.py @@ -23,6 +23,9 @@ class TestJointOps(unittest.TestCase): 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 289d5d3d964..d57217cba31 100644 --- a/Objects/setobject.c +++ b/Objects/setobject.c @@ -105,7 +105,7 @@ frozenset_dict_wrapper(PyObject *d) 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;