Handle the case with zero arguments.
diff --git a/Objects/setobject.c b/Objects/setobject.c
index a892dc8..1127680 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -1312,6 +1312,9 @@
 	Py_ssize_t i;
 	PyObject *result = (PyObject *)so;
 
+	if (PyTuple_GET_SIZE(args) == 0)
+		return set_copy(so);
+
 	Py_INCREF(so);
 	for (i=0 ; i<PyTuple_GET_SIZE(args) ; i++) {
 		PyObject *other = PyTuple_GET_ITEM(args, i);