Fix memory leak.

This commit is contained in:
Andrew Resch 2007-11-16 08:27:34 +00:00
parent 052894e805
commit 2a8d36029e

View File

@ -947,15 +947,14 @@ static PyObject *torrent_get_torrent_state(PyObject *self, PyObject *args)
} }
} }
PyObject *pieces_range = PyTuple_New(downloaded_range.size() / 2); PyObject *pieces_range = PyTuple_New(downloaded_range.size() / 2);
for(unsigned long i=0; i<downloaded_range.size(); i+=2) for(unsigned long i=0; i < downloaded_range.size(); i+=2) {
{
PyObject *rangepos; PyObject *rangepos;
rangepos = Py_BuildValue("[i,i]", downloaded_range[i], rangepos = Py_BuildValue("[i,i]", downloaded_range[i],
downloaded_range[i+1]); downloaded_range[i+1]);
PyTuple_SetItem(pieces_range, i/2, rangepos); PyTuple_SetItem(pieces_range, i/2, rangepos);
} }
return Py_BuildValue("{s:s,s:i,s:i,s:l,s:l,s:f,s:f,s:b,s:f,s:L,s:L,s:s,s:s,s:f,s:L,s:L,s:O,s:i,s:i,s:L,s:L,s:i,s:l,s:l,s:b,s:b,s:L,s:L,s:L}", PyObject *ret = Py_BuildValue("{s:s,s:i,s:i,s:l,s:l,s:f,s:f,s:b,s:f,s:L,s:L,s:s,s:s,s:f,s:L,s:L,s:O,s:i,s:i,s:L,s:L,s:i,s:l,s:l,s:b,s:b,s:L,s:L,s:L}",
"name", t.handle.get_torrent_info().name().c_str(), "name", t.handle.get_torrent_info().name().c_str(),
"num_files", t.handle.get_torrent_info().num_files(), "num_files", t.handle.get_torrent_info().num_files(),
"state", s.state, "state", s.state,
@ -985,6 +984,9 @@ static PyObject *torrent_get_torrent_state(PyObject *self, PyObject *args)
"total_done", s.total_done, "total_done", s.total_done,
"total_wanted", s.total_wanted, "total_wanted", s.total_wanted,
"total_wanted_done", s.total_wanted_done); "total_wanted_done", s.total_wanted_done);
Py_DECREF(pieces_range);
return ret;
}; };
static PyObject *torrent_pop_event(PyObject *self, PyObject *args) static PyObject *torrent_pop_event(PyObject *self, PyObject *args)