[libvirt] [PATCH] qemu: Avoid use after free in qemuCaps parsing

Jiri Denemark jdenemar at redhat.com
Fri Jun 3 14:34:30 UTC 2011


---
 src/qemu/qemu_domain.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 46414cd..332c09e 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -264,12 +264,13 @@ static int qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, void *data)
             char *str = virXMLPropString(nodes[i], "name");
             if (str) {
                 int flag = qemuCapsTypeFromString(str);
-                VIR_FREE(str);
                 if (flag < 0) {
                     qemuReportError(VIR_ERR_INTERNAL_ERROR,
                                     _("Unknown qemu capabilities flag %s"), str);
+                    VIR_FREE(str);
                     goto error;
                 }
+                VIR_FREE(str);
                 qemuCapsSet(qemuCaps, flag);
             }
         }
-- 
1.7.5.3




More information about the libvir-list mailing list