Issue #20440: Cleaning up the code by using Py_SETREF and Py_CLEAR.
Old code is correct, but with Py_SETREF and Py_CLEAR it can be cleaner.
This patch doesn't fix bugs and hence there is no need to backport it.
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index f16d48f..580c53a 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -2338,13 +2338,9 @@
                                        PyObject *element_factory)
 /*[clinic end generated code: output=91cfa7558970ee96 input=1b424eeefc35249c]*/
 {
-    PyObject *tmp;
-
     if (element_factory) {
         Py_INCREF(element_factory);
-        tmp = self->element_factory;
-        self->element_factory = element_factory;
-        Py_XDECREF(tmp);
+        Py_SETREF(self->element_factory, element_factory);
     }
 
     return 0;