]> xenbits.xensource.com Git - people/dariof/libvirt.git/commitdiff
Fix crashing upgrading from older libvirts with running guests
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 2 Aug 2013 11:12:30 +0000 (12:12 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 2 Aug 2013 14:32:26 +0000 (15:32 +0100)
If upgrading from a libvirt that is older than 1.0.5, we can
not assume that vm->def->resource is non-NULL. This bogus
assumption caused libvirtd to crash

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/lxc/lxc_process.c
src/qemu/qemu_cgroup.c

index 0a2830525524b86ce336cc36b0477f569e7a39de..4835bd50036b74d2dedd3e6a97822aa2d70f483d 100644 (file)
@@ -1204,7 +1204,9 @@ int virLXCProcessStart(virConnectPtr conn,
     }
 
     if (virCgroupNewDetectMachine(vm->def->name, "lxc", vm->pid,
-                                  vm->def->resource->partition,
+                                  vm->def->resource ?
+                                  vm->def->resource->partition :
+                                  NULL,
                                   -1, &priv->cgroup) < 0)
         goto error;
 
@@ -1413,7 +1415,9 @@ virLXCProcessReconnectDomain(virDomainObjPtr vm,
             goto error;
 
         if (virCgroupNewDetectMachine(vm->def->name, "lxc", vm->pid,
-                                      vm->def->resource->partition,
+                                      vm->def->resource ?
+                                      vm->def->resource->partition :
+                                      NULL,
                                       -1, &priv->cgroup) < 0)
             goto error;
 
index 787ddeb4a128932ceab701ef552c318ae27a5e21..dc949db4dd36b90addbf81f68e2215609e5d9844 100644 (file)
@@ -707,7 +707,9 @@ qemuConnectCgroup(virQEMUDriverPtr driver,
     if (virCgroupNewDetectMachine(vm->def->name,
                                   "qemu",
                                   vm->pid,
-                                  vm->def->resource->partition,
+                                  vm->def->resource ?
+                                  vm->def->resource->partition :
+                                  NULL,
                                   cfg->cgroupControllers,
                                   &priv->cgroup) < 0)
         goto cleanup;