提交 faa148bc 编写于 作者: J John Ferlan

libxl: Add refcnt for args->conn during migration

Since the @dconn reference via args->conn will be used via a thread
or callback, let's make sure memory associated with it isn't free'd
unexpectedly before we use it. The Unref will be done when the object
is Dispose'd.
Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
Reviewed-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
Reviewed-by: NErik Skultety <eskultet@redhat.com>
上级 8369ddfd
......@@ -239,6 +239,7 @@ libxlMigrationDstArgsDispose(void *obj)
libxlMigrationCookieFree(args->migcookie);
VIR_FREE(args->socks);
virObjectUnref(args->conn);
virObjectUnref(args->vm);
}
......@@ -608,7 +609,7 @@ libxlDomainMigrationDstPrepareTunnel3(virConnectPtr dconn,
if (!(args = virObjectNew(libxlMigrationDstArgsClass)))
goto error;
args->conn = dconn;
args->conn = virObjectRef(dconn);
args->vm = virObjectRef(vm);
args->flags = flags;
args->migcookie = mig;
......@@ -763,7 +764,7 @@ libxlDomainMigrationDstPrepare(virConnectPtr dconn,
if (!(args = virObjectNew(libxlMigrationDstArgsClass)))
goto error;
args->conn = dconn;
args->conn = virObjectRef(dconn);
args->vm = virObjectRef(vm);
args->flags = flags;
args->socks = socks;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册