From: Michael W. Hudson Date: Mon, 11 Aug 2003 17:32:02 +0000 (+0000) Subject: Add a couple of decrefs to error paths. X-Git-Tag: v2.4a1~1755 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=71665dc90d6bc79be710e2a6bea5dba417b2dcb3;p=python Add a couple of decrefs to error paths. Now test_descr only appears to leak two references & I think this are in fact illusory (it's to do with things getting resurrected in __del__ methods & it's easy to be believe confusion occurs when that happens ). Woohoo! --- diff --git a/Objects/intobject.c b/Objects/intobject.c index a3df3bab61..b97e2bc631 100644 --- a/Objects/intobject.c +++ b/Objects/intobject.c @@ -947,12 +947,14 @@ int_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds) if (!PyLong_Check(tmp)) { PyErr_SetString(PyExc_ValueError, "value must convertable to an int"); + Py_DECREF(tmp); return NULL; } ival = PyLong_AsLong(tmp); - if (ival == -1 && PyErr_Occurred()) + if (ival == -1 && PyErr_Occurred()) { + Py_DECREF(tmp); return NULL; - + } } else { ival = ((PyIntObject *)tmp)->ob_ival; }