On the error path need to free the chrdef

Signed-off-by: John Ferlan <jfer...@redhat.com>
---
 src/libxl/libxl_domain.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index cdac82c..557fc20 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -532,8 +532,10 @@ libxlDomainDefPostParse(virDomainDefPtr def,
         chrdef->target.port = 0;
         chrdef->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_XEN;
 
-        if (VIR_ALLOC_N(def->consoles, 1) < 0)
+        if (VIR_ALLOC_N(def->consoles, 1) < 0) {
+            virDomainChrDefFree(chrdef);
             return -1;
+        }
 
         def->nconsoles = 1;
         def->consoles[0] = chrdef;
-- 
1.9.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to