]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Backport of memory leak fixes.
authorMartin v. Löwis <martin@v.loewis.de>
Wed, 1 Mar 2006 21:36:32 +0000 (21:36 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Wed, 1 Mar 2006 21:36:32 +0000 (21:36 +0000)
Python/modsupport.c

index ad5b67522e44c98b5931fd6a315ab99c8816b2b3..152fdf7ea039c4d12bedd4280084e96ea738c2f6 100644 (file)
@@ -71,13 +71,17 @@ Py_InitModule4(char *name, PyMethodDef *methods, char *doc,
                                PyErr_SetString(PyExc_ValueError,
                                                "module functions cannot set"
                                                " METH_CLASS or METH_STATIC");
+                               Py_DECREF(n);
                                return NULL;
                        }
                        v = PyCFunction_NewEx(ml, passthrough, n);
-                       if (v == NULL)
+                       if (v == NULL) {
+                               Py_DECREF(n);
                                return NULL;
+                       }
                        if (PyDict_SetItemString(d, ml->ml_name, v) != 0) {
                                Py_DECREF(v);
+                               Py_DECREF(n);
                                return NULL;
                        }
                        Py_DECREF(v);