projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/virt_test.c: Fix memory leaks detected by valgrind
[collectd.git]
/
src
/
virt_test.c
diff --git
a/src/virt_test.c
b/src/virt_test.c
index
4596e5d
..
b21ac30
100644
(file)
--- a/
src/virt_test.c
+++ b/
src/virt_test.c
@@
-25,7
+25,8
@@
#include "testing.h"
#include "virt.c" /* sic */
#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) {
static int setup(void) {
if (virInitialize() != 0) {
@@
-43,7
+44,12
@@
static int setup(void) {
}
static int teardown(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);
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) {
#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);
conn, &domains, VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT);
- if (n_domains <= 0) {
- printf("ERROR: virConnectListAllDomains: n_domains <= 0\n");
+ if (n
r
_domains <= 0) {
+ printf("ERROR: virConnectListAllDomains: n
r
_domains <= 0\n");
return -1;
}
return -1;
}