From: Eric Blake Date: Thu, 22 May 2014 03:45:02 +0000 (-0600) Subject: conf: fix backing store parse off-by-one X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=aefd9bcf9b6bbb9f1fd99abe5c1c90832be8bb93;p=libvirt.git conf: fix backing store parse off-by-one Commit 546154e parses the type attribute from a element, but forgot that the earlier commit 9673418 added a placeholder element in the same 1.2.3 release; as a result, the C code was mistakenly allowing "none" as a type. Similarly, the same commit allows "none" as the sub-element type, even though that has been a placeholder since the 0.10.2 release with commit f772b3d. * src/conf/domain_conf.c (virDomainDiskBackingStoreParse): Require non-zero types. Signed-off-by: Eric Blake --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 055b9797a3..40c385e181 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -5110,7 +5110,7 @@ virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt, } backingStore->type = virStorageTypeFromString(type); - if (backingStore->type < 0) { + if (backingStore->type <= 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown disk backing store type '%s'"), type); goto cleanup; @@ -5123,7 +5123,7 @@ virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt, } backingStore->format = virStorageFileFormatTypeFromString(format); - if (backingStore->format < 0) { + if (backingStore->format <= 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown disk backing store format '%s'"), format); goto cleanup;