On Wed, Jul 06, 2011 at 05:23:57PM -0600, Eric Blake wrote: > * src/qemu/qemu_driver.c (qemudOpen, qemuDomainScreenshot) > (qemuDomainXMLFromNative, qemuDomainXMLToNative) > (qemudDomainBlockPeek, qemuCPUCompare, qemuCPUBaseline): Reject > unknown flags. > * src/qemu/qemu_migration.c (qemuMigrationConfirm): Likewise. > (_qemuMigrationCookie, qemuMigrationCookieXMLParse) > (qemuMigrationCookieXMLParseStr, qemuMigrationBakeCookie) > (qemuMigrationEatCookie): Make flags unsigned. > --- > src/qemu/qemu_driver.c | 30 +++++++++++++++++++++++------- > src/qemu/qemu_migration.c | 16 +++++++++------- > 2 files changed, 32 insertions(+), 14 deletions(-) > > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index 4f12beb..a2fe4b8 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c > @@ -800,8 +800,10 @@ static int qemuDomainSnapshotSetCurrentInactive(virDomainObjPtr vm, > > static virDrvOpenStatus qemudOpen(virConnectPtr conn, > virConnectAuthPtr auth ATTRIBUTE_UNUSED, > - unsigned int flags ATTRIBUTE_UNUSED) > + unsigned int flags) > { > + virCheckFlags(0, VIR_DRV_OPEN_ERROR); > + > if (conn->uri == NULL) { > if (qemu_driver == NULL) > return VIR_DRV_OPEN_DECLINED; > @@ -2686,7 +2688,7 @@ static char * > qemuDomainScreenshot(virDomainPtr dom, > virStreamPtr st, > unsigned int screen, > - unsigned int flags ATTRIBUTE_UNUSED) > + unsigned int flags) > { > struct qemud_driver *driver = dom->conn->privateData; > virDomainObjPtr vm; > @@ -2695,6 +2697,8 @@ qemuDomainScreenshot(virDomainPtr dom, > int tmp_fd = -1; > char *ret = NULL; > > + virCheckFlags(0, NULL); > + > qemuDriverLock(driver); > vm = virDomainFindByUUID(&driver->domains, dom->uuid); > qemuDriverUnlock(driver); > @@ -3881,11 +3885,14 @@ cleanup: > static char *qemuDomainXMLFromNative(virConnectPtr conn, > const char *format, > const char *config, > - unsigned int flags ATTRIBUTE_UNUSED) { > + unsigned int flags) > +{ > struct qemud_driver *driver = conn->privateData; > virDomainDefPtr def = NULL; > char *xml = NULL; > > + virCheckFlags(0, NULL); > + > if (STRNEQ(format, QEMU_CONFIG_FORMAT_ARGV)) { > qemuReportError(VIR_ERR_INVALID_ARG, > _("unsupported config type %s"), format); > @@ -3908,7 +3915,8 @@ cleanup: > static char *qemuDomainXMLToNative(virConnectPtr conn, > const char *format, > const char *xmlData, > - unsigned int flags ATTRIBUTE_UNUSED) { > + unsigned int flags) > +{ > struct qemud_driver *driver = conn->privateData; > virDomainDefPtr def = NULL; > virDomainChrSourceDef monConfig; > @@ -3917,6 +3925,8 @@ static char *qemuDomainXMLToNative(virConnectPtr conn, > char *ret = NULL; > int i; > > + virCheckFlags(0, NULL); > + > qemuDriverLock(driver); > > if (STRNEQ(format, QEMU_CONFIG_FORMAT_ARGV)) { > @@ -6164,12 +6174,14 @@ qemudDomainBlockPeek (virDomainPtr dom, > const char *path, > unsigned long long offset, size_t size, > void *buffer, > - unsigned int flags ATTRIBUTE_UNUSED) > + unsigned int flags) > { > struct qemud_driver *driver = dom->conn->privateData; > virDomainObjPtr vm; > int fd = -1, ret = -1, i; > > + virCheckFlags(0, -1); > + > qemuDriverLock(driver); > vm = virDomainFindByUUID(&driver->domains, dom->uuid); > qemuDriverUnlock(driver); > @@ -7240,11 +7252,13 @@ out: > static int > qemuCPUCompare(virConnectPtr conn, > const char *xmlDesc, > - unsigned int flags ATTRIBUTE_UNUSED) > + unsigned int flags) > { > struct qemud_driver *driver = conn->privateData; > int ret = VIR_CPU_COMPARE_ERROR; > > + virCheckFlags(0, VIR_CPU_COMPARE_ERROR); > + > qemuDriverLock(driver); > > if (!driver->caps || !driver->caps->host.cpu) { > @@ -7264,10 +7278,12 @@ static char * > qemuCPUBaseline(virConnectPtr conn ATTRIBUTE_UNUSED, > const char **xmlCPUs, > unsigned int ncpus, > - unsigned int flags ATTRIBUTE_UNUSED) > + unsigned int flags) > { > char *cpu; > > + virCheckFlags(0, NULL); > + > cpu = cpuBaselineXML(xmlCPUs, ncpus, NULL, 0); > > return cpu; > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c > index d7b27a0..a01cbd1 100644 > --- a/src/qemu/qemu_migration.c > +++ b/src/qemu/qemu_migration.c > @@ -76,8 +76,8 @@ struct _qemuMigrationCookieGraphics { > typedef struct _qemuMigrationCookie qemuMigrationCookie; > typedef qemuMigrationCookie *qemuMigrationCookiePtr; > struct _qemuMigrationCookie { > - int flags; > - int flagsMandatory; > + unsigned int flags; > + unsigned int flagsMandatory; > > /* Host properties */ > unsigned char localHostuuid[VIR_UUID_BUFLEN]; > @@ -446,7 +446,7 @@ error: > static int > qemuMigrationCookieXMLParse(qemuMigrationCookiePtr mig, > xmlXPathContextPtr ctxt, > - int flags) > + unsigned int flags) > { > char uuidstr[VIR_UUID_STRING_BUFLEN]; > char *tmp; > @@ -580,7 +580,7 @@ error: > static int > qemuMigrationCookieXMLParseStr(qemuMigrationCookiePtr mig, > const char *xml, > - int flags) > + unsigned int flags) > { > xmlDocPtr doc = NULL; > xmlXPathContextPtr ctxt = NULL; > @@ -614,7 +614,7 @@ qemuMigrationBakeCookie(qemuMigrationCookiePtr mig, > virDomainObjPtr dom, > char **cookieout, > int *cookieoutlen, > - int flags) > + unsigned int flags) > { > if (!cookieout || !cookieoutlen) > return 0; > @@ -645,7 +645,7 @@ qemuMigrationEatCookie(struct qemud_driver *driver, > virDomainObjPtr dom, > const char *cookiein, > int cookieinlen, > - int flags) > + unsigned int flags) > { > qemuMigrationCookiePtr mig = NULL; > > @@ -2605,7 +2605,7 @@ int qemuMigrationConfirm(struct qemud_driver *driver, > virDomainObjPtr vm, > const char *cookiein, > int cookieinlen, > - unsigned int flags ATTRIBUTE_UNUSED, > + unsigned int flags, > int retcode) > { > qemuMigrationCookiePtr mig; > @@ -2616,6 +2616,8 @@ int qemuMigrationConfirm(struct qemud_driver *driver, > driver, conn, vm, NULLSTR(cookiein), cookieinlen, > flags, retcode); > > + virCheckFlags(0, -1); > + > if (!(mig = qemuMigrationEatCookie(driver, vm, cookiein, cookieinlen, 0))) > return -1; > ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list