]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
qemu: Avoid use after free in qemuCaps parsing
authorJiri Denemark <jdenemar@redhat.com>
Fri, 3 Jun 2011 14:33:25 +0000 (16:33 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Fri, 3 Jun 2011 17:58:43 +0000 (19:58 +0200)
src/qemu/qemu_domain.c

index 46414cdae94a1c20c282324dad3fd9256a207e61..332c09e6558f91d22cc50eb6ccf2a1a8a5fe4c9b 100644 (file)
@@ -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);
             }
         }