From 75854b56f534ddcf3f5418e5a747f699c11c3944 Mon Sep 17 00:00:00 2001 From: Gonzalo Odiard Date: Tue, 18 Dec 2012 19:45:57 +0000 Subject: Fix memory leak in flood_fill method - SL #4334 Important information about refcounting in python [1] and [2] Te binaries for different architectures need be recompiled. [1] http://docs.python.org/release/2.5.2/api/refcountDetails.html [2] http://edcjones.tripod.com/refcount.html Signed-off-by: Gonzalo Odiard --- (limited to 'fill') diff --git a/fill/fillmodule.c b/fill/fillmodule.c index e9b461c..6e4823c 100644 --- a/fill/fillmodule.c +++ b/fill/fillmodule.c @@ -71,6 +71,7 @@ static PyObject* fill(PyObject* self, PyObject* args) item = PySequence_GetItem(mylist, index); /* assign to the C array */ intarr[index] = PyLong_AsUnsignedLong(item); + Py_DECREF(item); } /* now use intarr and arrsize in you extension */ @@ -81,8 +82,8 @@ static PyObject* fill(PyObject* self, PyObject* args) for (index = 0; index < arrsize; index++) { PyTuple_SetItem(pylist, index, PyLong_FromUnsignedLong(intarr[index])); } - - return Py_BuildValue("O", pylist); + free(intarr); + return pylist; } -- cgit v0.9.1