@@ -816,14 +816,14 @@ _elementtree_Element___deepcopy___impl(ElementObject *self, PyObject *memo)
816816 elementtreestate * st = get_elementtree_state_by_type (tp );
817817 tmp = Py_NewRef (self -> tag );
818818 tag = deepcopy (st , tmp , memo );
819- Py_DECREF (tmp );
819+ Py_CLEAR (tmp );
820820 if (!tag )
821821 return NULL ;
822822
823823 if (self -> extra && self -> extra -> attrib ) {
824824 tmp = Py_NewRef (self -> extra -> attrib );
825825 attrib = deepcopy (st , tmp , memo );
826- Py_DECREF (tmp );
826+ Py_CLEAR (tmp );
827827 if (!attrib ) {
828828 Py_DECREF (tag );
829829 return NULL ;
@@ -842,14 +842,14 @@ _elementtree_Element___deepcopy___impl(ElementObject *self, PyObject *memo)
842842
843843 tmp = Py_NewRef (JOIN_OBJ (self -> text ));
844844 text = deepcopy (st , tmp , memo );
845- Py_DECREF (tmp );
845+ Py_CLEAR (tmp );
846846 if (!text )
847847 goto error ;
848848 _set_joined_ptr (& element -> text , JOIN_SET (text , JOIN_GET (self -> text )));
849849
850850 tmp = Py_NewRef (JOIN_OBJ (self -> tail ));
851851 tail = deepcopy (st , tmp , memo );
852- Py_DECREF (tmp );
852+ Py_CLEAR (tmp );
853853 if (!tail )
854854 goto error ;
855855 _set_joined_ptr (& element -> tail , JOIN_SET (tail , JOIN_GET (self -> tail )));
@@ -862,7 +862,7 @@ _elementtree_Element___deepcopy___impl(ElementObject *self, PyObject *memo)
862862 for (i = 0 ; self -> extra && i < self -> extra -> length ; i ++ ) {
863863 tmp = Py_NewRef (self -> extra -> children [i ]);
864864 PyObject * child = deepcopy (st , tmp , memo );
865- Py_DECREF (tmp );
865+ Py_CLEAR (tmp );
866866 if (!child || !Element_Check (st , child )) {
867867 if (child ) {
868868 raise_type_error (child );
0 commit comments