]> granicus.if.org Git - python/commitdiff
Issue #22955: Fixed reference leak in attrgetter.repr().
authorSerhiy Storchaka <storchaka@gmail.com>
Thu, 21 May 2015 11:19:20 +0000 (14:19 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Thu, 21 May 2015 11:19:20 +0000 (14:19 +0300)
Modules/_operator.c

index 9e4db58d76779e9bdb4cdad688388980d762511f..735affcdbb610e2ddb5386a6ca7916baa6c6c457 100644 (file)
@@ -825,8 +825,10 @@ attrgetter_repr(attrgetterobject *ag)
     if (ag->nattrs == 1) {
         PyObject *attrsep = NULL;
         PyObject *attr = dotjoinattr(PyTuple_GET_ITEM(ag->attr, 0), &attrsep);
-        if (attr != NULL)
+        if (attr != NULL) {
             repr = PyUnicode_FromFormat("%s(%R)", Py_TYPE(ag)->tp_name, attr);
+            Py_DECREF(attr);
+        }
         Py_XDECREF(attrsep);
     }
     else {