Use Py_CLEAR instead of in-place DECREF/XDECREF or custom macros, for
tp_clear methods.
diff --git a/Modules/collectionsmodule.c b/Modules/collectionsmodule.c
index 5bccc7c..c7e2c85 100644
--- a/Modules/collectionsmodule.c
+++ b/Modules/collectionsmodule.c
@@ -1236,10 +1236,7 @@
static int
defdict_tp_clear(defdictobject *dd)
{
- if (dd->default_factory != NULL) {
- Py_DECREF(dd->default_factory);
- dd->default_factory = NULL;
- }
+ Py_CLEAR(dd->default_factory);
return PyDict_Type.tp_clear((PyObject *)dd);
}