From: Jim Fehlig Date: Tue, 15 Jan 2013 22:50:35 +0000 (-0700) Subject: libxl: Don't free domain death event X-Git-Tag: v1.0.2-rc1~125 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7459cae9b00a7dd191976f6d919b28c1a7cc9490;p=thirdparty%2Flibvirt.git libxl: Don't free domain death event Callers should not free death events provided by libxl_evdisable_FOO(). --- 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; }