]> granicus.if.org Git - python/commitdiff
Fix a refleak
authorAntoine Pitrou <solipsis@pitrou.net>
Mon, 16 Apr 2012 19:52:45 +0000 (21:52 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Mon, 16 Apr 2012 19:52:45 +0000 (21:52 +0200)
Python/import.c

index bd0d18ac310a0afdb62a2532cf93ea1c6dbbb1e5..a71bc3756d8582aa55421f78875eec1a8a48c869 100644 (file)
@@ -2782,10 +2782,11 @@ PyImport_ImportModuleLevelObject(PyObject *name, PyObject *given_globals,
         }
         base = PyUnicode_Substring(package, 0, last_dot);
         if (PyUnicode_GET_LENGTH(name) > 0) {
-            PyObject *borrowed_dot = NULL;
-            PyObject *seq = PyTuple_Pack(2, base, name);
+            PyObject *borrowed_dot, *seq = NULL;
 
             borrowed_dot = _PyUnicode_FromId(&single_dot);
+            seq = PyTuple_Pack(2, base, name);
+            Py_DECREF(base);
             if (borrowed_dot == NULL || seq == NULL) {
                 goto error;
             }