On 12/31/2011 03:29 AM, ajia(a)redhat.com wrote:
From: Alex Jia <ajia(a)redhat.com>
Detected by valgrind. Leaks introduced in commit 62094f7 and commit c5cf6e1.
key = libvirt_constcharPtrWrap(params[i].field);
PyDict_SetItem(info, key, val);
+ Py_DECREF(key);
+ Py_DECREF(val);
Can PyDict_SetItem() fail? If so, shouldn't we be recovering from that
failure by cleaning up memory and returning a proper error, rather than
blindly proceeding on? We ought to fix all PyDict_SetItem clients in
the same way as part of a global cleanup patch in the python directory,
which will have the side effect of fixing the memory leaks in the process.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org