diff options
author | Fredrik Lundh <fredrik@pythonware.com> | 2005-12-18 13:58:25 (GMT) |
---|---|---|
committer | Fredrik Lundh <fredrik@pythonware.com> | 2005-12-18 13:58:25 (GMT) |
commit | 0149e3a0903be8d47d1d6da0fd9ff3767c517085 (patch) | |
tree | db9f043c8b99ec35a642cd804f585a47f8f460a0 | |
parent | 7c460740ede2b14d5b4792e6c2bccc6d53cf0206 (diff) | |
download | cpython-0149e3a0903be8d47d1d6da0fd9ff3767c517085.zip cpython-0149e3a0903be8d47d1d6da0fd9ff3767c517085.tar.gz cpython-0149e3a0903be8d47d1d6da0fd9ff3767c517085.tar.bz2 |
Fixed None reference leaks in TreeBuilder class (reported by Neal
Norwitz)
-rw-r--r-- | Modules/_elementtree.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c index af813bd..6348f52 100644 --- a/Modules/_elementtree.c +++ b/Modules/_elementtree.c @@ -1501,10 +1501,12 @@ treebuilder_handle_start(TreeBuilderObject* self, PyObject* tag, if (self->data) { if (self->this == self->last) { + Py_DECREF(self->last->text); self->last->text = JOIN_SET( self->data, PyList_CheckExact(self->data) ); } else { + Py_DECREF(self->last->tail); self->last->tail = JOIN_SET( self->data, PyList_CheckExact(self->data) ); @@ -1606,10 +1608,12 @@ treebuilder_handle_end(TreeBuilderObject* self, PyObject* tag) if (self->data) { if (self->this == self->last) { + Py_DECREF(self->last->text); self->last->text = JOIN_SET( self->data, PyList_CheckExact(self->data) ); } else { + Py_DECREF(self->last->tail); self->last->tail = JOIN_SET( self->data, PyList_CheckExact(self->data) ); |