X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fvirt_test.c;h=b21ac306878c6c2117be258ec01f3700337169c8;hp=4596e5df9014aacff632be7a522b1ec09e899777;hb=f8e92a1940f3662f144e5f362521725d0f4d8ec1;hpb=05fb0c23443419b374d877d1c1035fc24ed7dda5 diff --git a/src/virt_test.c b/src/virt_test.c index 4596e5df..b21ac306 100644 --- a/src/virt_test.c +++ b/src/virt_test.c @@ -25,7 +25,8 @@ #include "testing.h" #include "virt.c" /* sic */ -virDomainPtr *domains; +static virDomainPtr *domains = NULL; +static int nr_domains = 0; static int setup(void) { if (virInitialize() != 0) { @@ -43,7 +44,12 @@ static int setup(void) { } static int teardown(void) { - sfree(domains); + if (domains) { + for (int i = 0; i < nr_domains; ++i) + virDomainFree(domains[i]); + sfree(domains); + } + nr_domains = 0; if (conn != NULL) virConnectClose(conn); @@ -53,10 +59,10 @@ static int teardown(void) { #ifdef HAVE_LIST_ALL_DOMAINS DEF_TEST(get_domain_state_notify) { if (setup() == 0) { - int n_domains = virConnectListAllDomains( + nr_domains = virConnectListAllDomains( conn, &domains, VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT); - if (n_domains <= 0) { - printf("ERROR: virConnectListAllDomains: n_domains <= 0\n"); + if (nr_domains <= 0) { + printf("ERROR: virConnectListAllDomains: nr_domains <= 0\n"); return -1; }