From 7459cae9b00a7dd191976f6d919b28c1a7cc9490 Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Tue, 15 Jan 2013 15:50:35 -0700 Subject: [PATCH] libxl: Don't free domain death event Callers should not free death events provided by libxl_evdisable_FOO(). --- src/libxl/libxl_driver.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 591ade2769..d26055e9fe 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -270,7 +270,6 @@ libxlDomainObjPrivateAlloc(void) return NULL; libxl_ctx_alloc(&priv->ctx, LIBXL_VERSION, 0, libxl_driver->logger); - priv->deathW = NULL; libxl_osevent_register_hooks(priv->ctx, &libxl_event_callbacks, priv); return priv; @@ -281,10 +280,8 @@ libxlDomainObjPrivateFree(void *data) { libxlDomainObjPrivatePtr priv = data; - if (priv->deathW) { + if (priv->deathW) libxl_evdisable_domain_death(priv->ctx, priv->deathW); - VIR_FREE(priv->deathW); - } libxl_ctx_free(priv->ctx); VIR_FREE(priv); @@ -604,9 +601,10 @@ libxlCreateDomEvents(virDomainObjPtr vm) return 0; error: - if (priv->deathW) + if (priv->deathW) { libxl_evdisable_domain_death(priv->ctx, priv->deathW); - VIR_FREE(priv->deathW); + priv->deathW = NULL; + } return -1; } -- 2.47.2