]> granicus.if.org Git - python/commitdiff
Fixed possible reference leak to mod when type_name() returns NULL
authorChristian Heimes <christian@cheimes.de>
Mon, 10 Sep 2012 01:01:16 +0000 (03:01 +0200)
committerChristian Heimes <christian@cheimes.de>
Mon, 10 Sep 2012 01:01:16 +0000 (03:01 +0200)
1  2 
Objects/typeobject.c

index bd55ede5ffdb7a61097c0f579e21bd6c908f9157,e34b10ce40a0aacc7237e9730e410511f34686fb..f51700e034de8223fadf29422867c633e4097892
@@@ -690,9 -646,11 +690,11 @@@ type_repr(PyTypeObject *type
          Py_DECREF(mod);
          mod = NULL;
      }
 -    name = type_name(type, NULL);
 +    name = type_qualname(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);