
On 09/06/2013 05:11 PM, Giuseppe Scrivano wrote:
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> --- python/generator.py | 2 +- python/libvirt-override-api.xml | 7 ++++++ python/libvirt-override.c | 56 +++++++++++++++++++++++++++++++++++++++++ python/libvirt-override.py | 11 ++++++++ 4 files changed, 75 insertions(+), 1 deletion(-)
+ + len = 0; + for (it = models; *it; it++) + len++; + + if ((rv = PyList_New(len)) == NULL) + goto error; +
Again, the C return value should make it so you don't have to re-count len via 'it' yourself.
+ len = 0; + for (it = models; *it; it++){
Space before {
+ PyObject *str; + if ((str = PyString_FromString(*it)) == NULL) + goto error; + + PyList_SET_ITEM(rv, len++, str); + } + +done: + if (models) { + for (it = models; *it; it++) + VIR_FREE(*it); + VIR_FREE(models); + } + + return rv; + +error: + rv = VIR_PY_INT_FAIL;
Ouch. Memory leak of the former value of rv. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org