From 617080b6cfc291661312825a9332e086d4c5bc74 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 18 Oct 2002 14:15:33 +0000 Subject: Fix (real! :-) memory leaks in half_cmp and half_binop. Perhaps found by NealN and valgrind. Will forward port. --- Objects/classobject.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Objects/classobject.c b/Objects/classobject.c index f698cc3..ff6f11e 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -1357,6 +1357,7 @@ half_binop(PyObject *v, PyObject *w, char *opname, binaryfunc thisfunc, args = Py_BuildValue("(O)", w); if (args == NULL) { + Py_DECREF(coercefunc); return NULL; } coerced = PyEval_CallObject(coercefunc, args); @@ -1553,8 +1554,10 @@ half_cmp(PyObject *v, PyObject *w) } 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); -- cgit v0.12