[Libvir] [PATCH] Plug test-related leaks

Once I had a static "virsh" binary, I ran this: cd src && valgrind --leak-check=full ./virsh --connect \ test://$PWD/../docs/testnode.xml list which exposed some leaks. I fixed them like this: Plug test-related leaks. * src/test.c (testLoadNetwork): Free forwardDev. (testLoadDomain): Free ctxt. (testLoadNetwork): Likewise. (testOpenFromFile): Likewise. Signed-off-by: Jim Meyering <meyering@redhat.com> --- src/test.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/src/test.c b/src/test.c index d228b31..c46a045 100644 --- a/src/test.c +++ b/src/test.c @@ -351,9 +351,11 @@ static int testLoadDomain(virConnectPtr conn, privconn->domains[handle].onPoweroff = onPoweroff; privconn->domains[handle].onCrash = onCrash; + xmlXPathFreeContext(ctxt); return (handle); error: + xmlXPathFreeContext(ctxt); if (name) free(name); return (-1); @@ -508,6 +510,7 @@ static int testLoadNetwork(virConnectPtr conn, if (forwardDev) { strncpy(privconn->networks[handle].forwardDev, forwardDev, sizeof(privconn->networks[handle].forwardDev)-1); privconn->networks[handle].forwardDev[sizeof(privconn->networks[handle].forwardDev)-1] = '\0'; + free(forwardDev); } strncpy(privconn->networks[handle].ipAddress, ipaddress, sizeof(privconn->networks[handle].ipAddress)-1); @@ -522,9 +525,12 @@ static int testLoadNetwork(virConnectPtr conn, strncpy(privconn->networks[handle].dhcpEnd, dhcpend, sizeof(privconn->networks[handle].dhcpEnd)-1); privconn->networks[handle].dhcpEnd[sizeof(privconn->networks[handle].dhcpEnd)-1] = '\0'; free(dhcpend); + xmlXPathFreeContext(ctxt); return (handle); error: + xmlXPathFreeContext(ctxt); + free (forwardDev); if (ipaddress) free(ipaddress); if (ipnetmask) @@ -833,11 +839,13 @@ static int testOpenFromFile(virConnectPtr conn, } } + xmlXPathFreeContext(ctxt); xmlFreeDoc(xml); return (0); error: + xmlXPathFreeContext(ctxt); if (domains != NULL) free(domains); if (networks != NULL) -- 1.5.4.rc5.1.g0fa73

On Tue, Jan 29, 2008 at 11:44:50AM +0100, Jim Meyering wrote:
Once I had a static "virsh" binary, I ran this:
cd src && valgrind --leak-check=full ./virsh --connect \ test://$PWD/../docs/testnode.xml list
which exposed some leaks. I fixed them like this:
Plug test-related leaks. * src/test.c (testLoadNetwork): Free forwardDev. (testLoadDomain): Free ctxt. (testLoadNetwork): Likewise. (testOpenFromFile): Likewise.
ACK. looks good. Dan, -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|

Jim Meyering wrote:
Once I had a static "virsh" binary, I ran this:
cd src && valgrind --leak-check=full ./virsh --connect \ test://$PWD/../docs/testnode.xml list
which exposed some leaks. I fixed them like this:
Plug test-related leaks. * src/test.c (testLoadNetwork): Free forwardDev. (testLoadDomain): Free ctxt. (testLoadNetwork): Likewise. (testOpenFromFile): Likewise.
Can't really argue with this ... ACK. Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903
participants (3)
-
Daniel P. Berrange
-
Jim Meyering
-
Richard W.M. Jones