]> xenbits.xensource.com Git - people/dariof/libvirt.git/commitdiff
lxc: Don't crash if no security driver is specified in libvirt_lxc
authorPeter Krempa <pkrempa@redhat.com>
Mon, 26 Nov 2012 14:17:58 +0000 (15:17 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 26 Nov 2012 14:48:31 +0000 (15:48 +0100)
When no security driver is specified libvirt_lxc segfaults as a debug
message tries to access security labels for the container that are not
present.

This problem was introduced in commit 6c3cf57d6cb27cf10064baf8cca0f39.

src/lxc/lxc_controller.c

index ea5bc5819cef11194e3409588fdde7daf548181e..16cda9d2f89312c4ce2033e75c31943d9fe54772 100644 (file)
@@ -1612,11 +1612,15 @@ int main(int argc, char *argv[])
                                                         false, false, false)))
         goto cleanup;
 
-    VIR_DEBUG("Security model %s type %s label %s imagelabel %s",
-              NULLSTR(ctrl->def->seclabels[0]->model),
-              virDomainSeclabelTypeToString(ctrl->def->seclabels[0]->type),
-              NULLSTR(ctrl->def->seclabels[0]->label),
-              NULLSTR(ctrl->def->seclabels[0]->imagelabel));
+    if (ctrl->def->seclabels) {
+        VIR_DEBUG("Security model %s type %s label %s imagelabel %s",
+                  NULLSTR(ctrl->def->seclabels[0]->model),
+                  virDomainSeclabelTypeToString(ctrl->def->seclabels[0]->type),
+                  NULLSTR(ctrl->def->seclabels[0]->label),
+                  NULLSTR(ctrl->def->seclabels[0]->imagelabel));
+    } else {
+        VIR_DEBUG("Security model not initialized");
+    }
 
     ctrl->veths = veths;
     ctrl->nveths = nveths;