]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Avoid crash in security driver if model is NULL
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 18 Jan 2011 18:01:10 +0000 (18:01 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 21 Jan 2011 16:07:04 +0000 (16:07 +0000)
If the XML security model is NULL, it is assumed that the current
model will be used with dynamic labelling. The verify step is
meaningless and potentially crashes if dereferencing NULL

* src/security/security_manager.c: Skip NULL model on verify

src/security/security_manager.c

index 66cffb5be517f1032515465d812b78708f5ef95f..6406161cfa7304272d47eff2343190bcb6e47ed8 100644 (file)
@@ -309,6 +309,14 @@ int virSecurityManagerSetProcessLabel(virSecurityManagerPtr mgr,
 int virSecurityManagerVerify(virSecurityManagerPtr mgr,
                              virDomainDefPtr def)
 {
+    const virSecurityLabelDefPtr secdef = &def->seclabel;
+    /* NULL model == dynamic labelling, with whatever driver
+     * is active, so we can short circuit verify check to
+     * avoid drivers de-referencing NULLs by accident
+     */
+    if (!secdef->model)
+        return 0;
+
     if (mgr->drv->domainSecurityVerify)
         return mgr->drv->domainSecurityVerify(mgr, def);