]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fix crash when saving a domain with type none dac label
authorJán Tomko <jtomko@redhat.com>
Thu, 12 Jun 2014 08:50:43 +0000 (10:50 +0200)
committerJán Tomko <jtomko@redhat.com>
Thu, 12 Jun 2014 10:01:35 +0000 (12:01 +0200)
qemuDomainGetImageIds did not check if there was a label
in the seclabel, thus crashing on
<seclabel type='none' model='dac'/>

https://bugzilla.redhat.com/show_bug.cgi?id=1108590

src/qemu/qemu_domain.c
src/qemu/qemu_driver.c

index 962698b0aa8634417de7984a6dcffac4d0796514..e40c5ec18bc8f85987f9f82110bcfaff82b32b75 100644 (file)
@@ -2409,7 +2409,8 @@ qemuDomainGetImageIds(virQEMUDriverConfigPtr cfg,
             *gid = cfg->group;
     }
 
-    if (vm && (vmlabel = virDomainDefGetSecurityLabelDef(vm->def, "dac")))
+    if (vm && (vmlabel = virDomainDefGetSecurityLabelDef(vm->def, "dac")) &&
+        vmlabel->label)
         virParseOwnershipIds(vmlabel->label, uid, gid);
 
     if ((disklabel = virDomainDiskDefGetSecurityLabelDef(disk, "dac")) &&
index ec72d9dd3aae762b232e4cba1cf6dc683bb1d245..e147d282c59dc0b7a5d517326405c5965add9469 100644 (file)
@@ -2771,6 +2771,7 @@ qemuOpenFile(virQEMUDriverPtr driver,
     /* TODO: Take imagelabel into account? */
     if (vm &&
         (seclabel = virDomainDefGetSecurityLabelDef(vm->def, "dac")) != NULL &&
+        seclabel->label != NULL &&
         (virParseOwnershipIds(seclabel->label, &user, &group) < 0))
         goto cleanup;