]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: fix backing store parse off-by-one
authorEric Blake <eblake@redhat.com>
Thu, 22 May 2014 03:45:02 +0000 (21:45 -0600)
committerEric Blake <eblake@redhat.com>
Thu, 22 May 2014 17:23:35 +0000 (11:23 -0600)
Commit 546154e parses the type attribute from a <backingStore>
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 <format>
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 <eblake@redhat.com>
src/conf/domain_conf.c

index 055b9797a31301654ad420619d0c6c9739065baf..40c385e181d4e5c5e778f5a979c17080e2d73dab 100644 (file)
@@ -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;