From f0c513a6a0df25d5b8aacaf3d7395e829cb2e358 Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Thu, 15 Aug 2013 10:03:17 -0600 Subject: [PATCH] libxl: unref DomainObjPrivate on error path There is a potential leak of a newly created libxlDomainObjPrivate when subsequent allocation of the object's chrdev field fails. Unref the object on such an error so that it is properly disposed. --- src/libxl/libxl_driver.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index ddd794304f..f09ad6142c 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -454,8 +454,10 @@ libxlDomainObjPrivateAlloc(void) if (!(priv = virObjectLockableNew(libxlDomainObjPrivateClass))) return NULL; - if (!(priv->devs = virChrdevAlloc())) + if (!(priv->devs = virChrdevAlloc())) { + virObjectUnref(priv); return NULL; + } return priv; } -- GitLab