]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_capabilities: Parse "deprecated" in virQEMUCapsLoadMachines() properly
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 9 Feb 2021 15:36:17 +0000 (16:36 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 10 Feb 2021 08:38:59 +0000 (09:38 +0100)
A <machine/> element can have "deprecated" attribute that
corresponds to 'deprecated' member of _virQEMUCapsMachineType
struct. But the member is of boolean type. Therefore, the string
returned by virXMLPropString() must be freed.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_capabilities.c

index 4a6ef2e383ef5f2e280998f59fdc8d88a4334828..ebd660788850ae0e2725aff1793669bd8c08fe81 100644 (file)
@@ -4063,7 +4063,11 @@ virQEMUCapsLoadMachines(virQEMUCapsAccelPtr caps,
 
         caps->machineTypes[i].defaultCPU = virXMLPropString(nodes[i], "defaultCPU");
         caps->machineTypes[i].defaultRAMid = virXMLPropString(nodes[i], "defaultRAMid");
-        caps->machineTypes[i].deprecated = virXMLPropString(nodes[i], "deprecated");
+
+        str = virXMLPropString(nodes[i], "deprecated");
+        if (STREQ_NULLABLE(str, "yes"))
+            caps->machineTypes[i].deprecated = true;
+        VIR_FREE(str);
     }
 
     return 0;