Fixed possible reference leak to mod when type_name() returns NULL
authorChristian Heimes <christian@cheimes.de>
Mon, 10 Sep 2012 01:00:14 +0000 (03:00 +0200)
committerChristian Heimes <christian@cheimes.de>
Mon, 10 Sep 2012 01:00:14 +0000 (03:00 +0200)
Objects/typeobject.c

index 1bda375c3d26112fa7fd0e23264b1e563ef1d9ff..e34b10ce40a0aacc7237e9730e410511f34686fb 100644 (file)
@@ -647,8 +647,10 @@ type_repr(PyTypeObject *type)
         mod = NULL;
     }
     name = type_name(type, NULL);
-    if (name == NULL)
+    if (name == NULL) {
+        Py_XDECREF(mod);
         return NULL;
+    }
 
     if (mod != NULL && PyUnicode_CompareWithASCIIString(mod, "builtins"))
         rtn = PyUnicode_FromFormat("<class '%U.%U'>", mod, name);