Fixed possible leaks in ElementTree parser.
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index 2bf8014..2647c7b 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -2227,8 +2227,10 @@
     /* attributes */
     if (attrib_in[0]) {
         attrib = PyDict_New();
-        if (!attrib)
+        if (!attrib) {
+            Py_DECREF(tag);
             return;
+        }
         while (attrib_in[0] && attrib_in[1]) {
             PyObject* key = makeuniversal(self, attrib_in[0]);
             PyObject* value = makestring(attrib_in[1], strlen(attrib_in[1]));
@@ -2236,6 +2238,7 @@
                 Py_XDECREF(value);
                 Py_XDECREF(key);
                 Py_DECREF(attrib);
+                Py_DECREF(tag);
                 return;
             }
             ok = PyDict_SetItem(attrib, key, value);
@@ -2243,6 +2246,7 @@
             Py_DECREF(key);
             if (ok < 0) {
                 Py_DECREF(attrib);
+                Py_DECREF(tag);
                 return;
             }
             attrib_in += 2;
@@ -2260,8 +2264,10 @@
         if (attrib == Py_None) {
             Py_DECREF(attrib);
             attrib = PyDict_New();
-            if (!attrib)
+            if (!attrib) {
+                Py_DECREF(tag);
                 return;
+            }
         }
         res = PyObject_CallFunction(self->handle_start, "OO", tag, attrib);
     } else