[libvirt] [PATCHv2 19/27] xenapi: reject unknown flags

Eric Blake eblake at redhat.com
Wed Jul 13 23:04:27 UTC 2011


On 07/13/2011 07:04 AM, Matthias Bolte wrote:
> 2011/7/8 Eric Blake <eblake at redhat.com>:
>> * src/xenapi/xenapi_driver.c (xenapiOpen, xenapiDomainReboot)
>> (xenapiDomainGetXMLDesc): Reject unknown flags.
>> ---
>>  src/xenapi/xenapi_driver.c |   13 ++++++++++---
>>  1 files changed, 10 insertions(+), 3 deletions(-)
> 
>> @@ -1309,6 +1314,8 @@ xenapiDomainGetXMLDesc(virDomainPtr dom, unsigned int flags ATTRIBUTE_UNUSED)
>>     struct xen_vif_set *vif_set = NULL;
>>     char *xml;
>>
>> +    virCheckFlags(0, NULL);
>> +
>>     if (!xen_vm_get_by_name_label(session, &vms, dom->name)) return NULL;
>>     if (vms->size != 1) {
>>         xenapiSessionErrorHandler(dom->conn, VIR_ERR_INTERNAL_ERROR,
> 
> You found a bug, but made it worse instead of fixing it.
> xenapiDomainGetXMLDesc should pass the flags to virDomainDefFormat
> instead of passing 0.
> 
> ACK, with passing flags to virDomainDefFormat instead of ignoring it.

Pushed with this squashed in:

diff --git i/src/xenapi/xenapi_driver.c w/src/xenapi/xenapi_driver.c
index 5d5e810..aa616ca 100644
--- i/src/xenapi/xenapi_driver.c
+++ w/src/xenapi/xenapi_driver.c
@@ -1316,7 +1316,9 @@ xenapiDomainGetXMLDesc(virDomainPtr dom, unsigned
int flags)
     struct xen_vif_set *vif_set = NULL;
     char *xml;

-    virCheckFlags(0, NULL);
+    virCheckFlags(VIR_DOMAIN_XML_SECURE |
+                  VIR_DOMAIN_XML_INACTIVE |
+                  VIR_DOMAIN_XML_UPDATE_CPU, NULL);

     if (!xen_vm_get_by_name_label(session, &vms, dom->name)) return NULL;
     if (vms->size != 1) {
@@ -1483,7 +1485,7 @@ xenapiDomainGetXMLDesc(virDomainPtr dom, unsigned
int flags)
         xen_vif_set_free(vif_set);
     }
     if (vms) xen_vm_set_free(vms);
-    xml = virDomainDefFormat(defPtr, 0);
+    xml = virDomainDefFormat(defPtr, flags);
     virDomainDefFree(defPtr);
     return xml;



-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110713/b23f88d3/attachment-0001.sig>


More information about the libvir-list mailing list