aboutsummaryrefslogtreecommitdiffstats
path: root/connect.c
diff options
context:
space:
mode:
Diffstat (limited to 'connect.c')
-rw-r--r--connect.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/connect.c b/connect.c
index 7bc025a..2ea444c 100644
--- a/connect.c
+++ b/connect.c
@@ -58,6 +58,7 @@ static void connect_close(virConnectPtr c, int reason, void *opaque)
static void connect_list(struct vconsole_connect *conn)
{
+ virDomainPtr d;
int i, n;
char **inactive;
int *active;
@@ -66,7 +67,9 @@ static void connect_list(struct vconsole_connect *conn)
active = malloc(sizeof(int) * n);
n = virConnectListDomains(conn->ptr, active, n);
for (i = 0; i < n; i++) {
- domain_update(conn, virDomainLookupByID(conn->ptr, active[i]), -1);
+ d = virDomainLookupByID(conn->ptr, active[i]);
+ domain_update(conn, d, -1);
+ virDomainFree(d);
}
free(active);
@@ -74,7 +77,9 @@ static void connect_list(struct vconsole_connect *conn)
inactive = malloc(sizeof(char *) * n);
n = virConnectListDefinedDomains(conn->ptr, inactive, n);
for (i = 0; i < n; i++) {
- domain_update(conn, virDomainLookupByName(conn->ptr, inactive[i]), -1);
+ d = virDomainLookupByName(conn->ptr, inactive[i]);
+ domain_update(conn, d, -1);
+ virDomainFree(d);
free(inactive[i]);
}
free(inactive);