diff Objects/classobject.c @ 25842:eab7940277fb legacy-trunk

Fix (real! :-) memory leaks in half_cmp and half_binop. Perhaps found by NealN and valgrind. Will forward port.
author Guido van Rossum <guido@python.org>
date Fri, 18 Oct 2002 14:15:33 +0000
parents 5c38457f6b3b
children 7b773a1271c3
line wrap: on
line diff
--- a/Objects/classobject.c	Fri Oct 18 13:51:49 2002 +0000
+++ b/Objects/classobject.c	Fri Oct 18 14:15:33 2002 +0000
@@ -1357,6 +1357,7 @@
 
 	args = Py_BuildValue("(O)", w);
 	if (args == NULL) {
+		Py_DECREF(coercefunc);
 		return NULL;
 	}
 	coerced = PyEval_CallObject(coercefunc, args);
@@ -1553,8 +1554,10 @@
 	}
 
 	args = Py_BuildValue("(O)", w);
-	if (args == NULL)
+	if (args == NULL) {
+		Py_DECREF(cmp_func);
 		return -2;
+	}
 
 	result = PyEval_CallObject(cmp_func, args);
 	Py_DECREF(args);