diff Python/modsupport.c @ 36775:a54948180a3d 2.4

Backport of memory leak fixes.
author Martin v. Löwis <martin@v.loewis.de>
date Wed, 01 Mar 2006 21:36:32 +0000
parents e0feadc7affb
children
line wrap: on
line diff
--- a/Python/modsupport.c	Mon Feb 27 23:15:56 2006 +0000
+++ b/Python/modsupport.c	Wed Mar 01 21:36:32 2006 +0000
@@ -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);