Fix more memory leaks. Will backport to 2.4.
diff --git a/Python/modsupport.c b/Python/modsupport.c
index 2356a9e..f53e4c3 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -71,13 +71,17 @@
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);