]> xenbits.xensource.com Git - libvirt.git/commitdiff
Ensure transient def is removed if LXC start fails
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 23 Nov 2012 16:40:16 +0000 (16:40 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 27 Nov 2012 17:59:23 +0000 (17:59 +0000)
When starting a container, newDef is initialized to a
copy of 'def', but when startup fails newDef is never
removed. This cause later attempts to use 'virDomainDefine'
to lose the new data being defined.

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

index 6cfbb0df57cbce9f663bb90063d6996249faee1b..28eecec1aa1ea89bc5cc741b379eee92d74c6efc 100644 (file)
@@ -1199,6 +1199,10 @@ cleanup:
         VIR_FREE(veths[i]);
     }
     if (rc != 0) {
+        if (vm->newDef) {
+            virDomainDefFree(vm->newDef);
+            vm->newDef = NULL;
+        }
         if (priv->monitor) {
             virObjectUnref(priv->monitor);
             priv->monitor = NULL;