qemu: Use refcounting for priv->monConfig

Use refcounting for priv->monConfig instead of asymmetric freeing.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Marc Hartmayer 2019-02-20 09:51:06 +01:00 committed by Ján Tomko
parent 27a9ebf281
commit 527da4ce9b
2 changed files with 4 additions and 7 deletions

View File

@ -17026,21 +17026,18 @@ static virDomainPtr qemuDomainQemuAttach(virConnectPtr conn,
if (qemuProcessAttach(conn, driver, vm, pid,
pidfile, monConfig, monJSON) < 0) {
monConfig = NULL;
qemuDomainRemoveInactive(driver, vm);
qemuDomainObjEndJob(driver, vm);
goto cleanup;
}
monConfig = NULL;
dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
qemuDomainObjEndJob(driver, vm);
cleanup:
virDomainDefFree(def);
virDomainChrSourceDefFree(monConfig);
virObjectUnref(monConfig);
virDomainObjEndAPI(&vm);
VIR_FREE(pidfile);
virObjectUnref(caps);

View File

@ -7528,8 +7528,7 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
goto error;
VIR_DEBUG("Preparing monitor state");
priv->monConfig = monConfig;
monConfig = NULL;
priv->monConfig = virObjectRef(monConfig);
priv->monJSON = monJSON;
/* Attaching to running QEMU so we need to detect whether it was started
@ -7648,7 +7647,8 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
VIR_FREE(sec_managers);
if (seclabelgen)
virSecurityLabelDefFree(seclabeldef);
virDomainChrSourceDefFree(monConfig);
virObjectUnref(priv->monConfig);
priv->monConfig = NULL;
virObjectUnref(cfg);
virObjectUnref(caps);
return -1;