Since virDomainFree will call virObjectUnref anyway, let's just use that directly so as to avoid the possibility that we inadvertently clear out a pending error message when using the public API. Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> --- cfg.mk | 12 ++++ daemon/remote.c | 131 +++++++++++++++---------------------------- src/conf/domain_event.c | 4 +- src/esx/esx_driver.c | 2 +- src/hyperv/hyperv_driver.c | 2 +- src/locking/sanlock_helper.c | 3 +- src/qemu/qemu_driver.c | 2 +- src/remote/remote_driver.c | 45 ++++++++------- src/vbox/vbox_common.c | 6 +- 9 files changed, 86 insertions(+), 121 deletions(-) diff --git a/cfg.mk b/cfg.mk index 3f35479..c772110 100644 --- a/cfg.mk +++ b/cfg.mk @@ -988,6 +988,15 @@ sc_prohibit_system_error_with_vir_err: halt='do not use virReportSystemError with VIR_ERR_* error codes' \ $(_sc_search_regexp) +# Rule to prohibit usage of virXXXFree within library, daemon, remote, etc. +# functions. There's a corresponding exclude to allow usage within tests, +# docs, examples, tools, src/libvirt-*.c, and include/libvirt/libvirt-*.h +sc_prohibit_virXXXFree: + @prohibit='\bvirDomainFree\b' \ + exclude='sc_prohibit_virXXXFree' \ + halt='avoid using 'virXXXFree', use 'virObjectUnref' instead' \ + $(_sc_search_regexp) + # We don't use this feature of maint.mk. prev_version_file = /dev/null @@ -1175,3 +1184,6 @@ exclude_file_name_regexp--sc_prohibit_useless_translation = \ exclude_file_name_regexp--sc_prohibit_devname = \ ^(tools/virsh.pod|cfg.mk|docs/.*)$$ + +exclude_file_name_regexp--sc_prohibit_virXXXFree = \ + ^(docs/|tests/|examples/|tools/|cfg.mk|src/libvirt_public.syms|include/libvirt/libvirt-domain.h|src/libvirt-(domain|qemu).c$$) diff --git a/daemon/remote.c b/daemon/remote.c index 75ae982..00b3e21 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -1347,8 +1347,7 @@ remoteDispatchDomainGetSchedulerType(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -1555,8 +1554,7 @@ remoteDispatchDomainGetSchedulerParameters(virNetServerPtr server ATTRIBUTE_UNUS if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -1613,7 +1611,7 @@ remoteDispatchConnectListAllDomains(virNetServerPtr server ATTRIBUTE_UNUSED, virNetMessageSaveError(rerr); if (doms && ndomains > 0) { for (i = 0; i < ndomains; i++) - virDomainFree(doms[i]); + virObjectUnref(doms[i]); VIR_FREE(doms); } return rv; @@ -1666,8 +1664,7 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNetServerPtr server ATTRIBUTE if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -1724,8 +1721,7 @@ remoteDispatchDomainMemoryStats(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); VIR_FREE(stats); return rv; } @@ -1780,8 +1776,7 @@ remoteDispatchDomainBlockPeek(virNetServerPtr server ATTRIBUTE_UNUSED, virNetMessageSaveError(rerr); VIR_FREE(ret->buffer.buffer_val); } - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -1844,8 +1839,7 @@ remoteDispatchDomainBlockStatsFlags(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -1897,8 +1891,7 @@ remoteDispatchDomainMemoryPeek(virNetServerPtr server ATTRIBUTE_UNUSED, virNetMessageSaveError(rerr); VIR_FREE(ret->buffer.buffer_val); } - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -1941,8 +1934,7 @@ remoteDispatchDomainGetSecurityLabel(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); VIR_FREE(seclabel); return rv; } @@ -2001,8 +1993,7 @@ remoteDispatchDomainGetSecurityLabelList(virNetServerPtr server ATTRIBUTE_UNUSED cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); VIR_FREE(seclabels); return rv; } @@ -2107,8 +2098,7 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); VIR_FREE(cpumaps); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2143,8 +2133,7 @@ remoteDispatchDomainPinEmulator(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2194,8 +2183,7 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); VIR_FREE(cpumaps); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2276,8 +2264,7 @@ remoteDispatchDomainGetVcpus(virNetServerPtr server ATTRIBUTE_UNUSED, } VIR_FREE(cpumaps); VIR_FREE(info); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2446,8 +2433,7 @@ remoteDispatchDomainGetMemoryParameters(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2509,8 +2495,7 @@ remoteDispatchDomainGetNumaParameters(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2572,8 +2557,7 @@ remoteDispatchDomainGetBlkioParameters(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2757,8 +2741,7 @@ remoteDispatchDomainGetBlockJobInfo(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -2820,8 +2803,7 @@ remoteDispatchDomainGetBlockIoTune(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -3618,8 +3600,7 @@ remoteDispatchDomainGetState(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -3774,8 +3755,7 @@ remoteDispatchConnectDomainEventCallbackRegisterAny(virNetServerPtr server ATTRI VIR_FREE(callback); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); virMutexUnlock(&priv->lock); return rv; } @@ -3915,8 +3895,7 @@ qemuDispatchDomainMonitorCommand(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -3967,8 +3946,7 @@ remoteDispatchDomainMigrateBegin3(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4079,8 +4057,7 @@ remoteDispatchDomainMigratePerform3(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4133,8 +4110,7 @@ remoteDispatchDomainMigrateFinish3(virNetServerPtr server ATTRIBUTE_UNUSED, virNetMessageSaveError(rerr); VIR_FREE(cookieout); } - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4170,8 +4146,7 @@ remoteDispatchDomainMigrateConfirm3(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4262,8 +4237,7 @@ remoteDispatchDomainOpenGraphics(virNetServerPtr server ATTRIBUTE_UNUSED, VIR_FORCE_CLOSE(fd); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4306,8 +4280,7 @@ remoteDispatchDomainOpenGraphicsFd(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4371,8 +4344,7 @@ remoteDispatchDomainGetInterfaceParameters(virNetServerPtr server ATTRIBUTE_UNUS if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4443,8 +4415,7 @@ remoteDispatchDomainGetCPUStats(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, args->ncpus * args->nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -4498,8 +4469,7 @@ remoteDispatchDomainGetDiskErrors(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); if (errors && len > 0) { size_t i; for (i = 0; i < len; i++) @@ -4564,8 +4534,7 @@ remoteDispatchDomainListAllSnapshots(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); if (snaps && nsnaps > 0) { for (i = 0; i < nsnaps; i++) virDomainSnapshotFree(snaps[i]); @@ -4635,8 +4604,7 @@ remoteDispatchDomainSnapshotListAllChildren(virNetServerPtr server ATTRIBUTE_UNU virNetMessageSaveError(rerr); if (snapshot) virDomainSnapshotFree(snapshot); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); if (snaps && nsnaps > 0) { for (i = 0; i < nsnaps; i++) virDomainSnapshotFree(snaps[i]); @@ -5214,8 +5182,7 @@ lxcDispatchDomainOpenNamespace(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5265,8 +5232,7 @@ remoteDispatchDomainGetJobStats(virNetServerPtr server ATTRIBUTE_UNUSED, if (rv < 0) virNetMessageSaveError(rerr); virTypedParamsFree(params, nparams); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5323,8 +5289,7 @@ remoteDispatchDomainMigrateBegin3Params(virNetServerPtr server ATTRIBUTE_UNUSED, virTypedParamsFree(params, nparams); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5514,8 +5479,7 @@ remoteDispatchDomainMigratePerform3Params(virNetServerPtr server ATTRIBUTE_UNUSE virTypedParamsFree(params, nparams); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5575,8 +5539,7 @@ remoteDispatchDomainMigrateFinish3Params(virNetServerPtr server ATTRIBUTE_UNUSED virNetMessageSaveError(rerr); VIR_FREE(cookieout); } - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5627,8 +5590,7 @@ remoteDispatchDomainMigrateConfirm3Params(virNetServerPtr server ATTRIBUTE_UNUSE virTypedParamsFree(params, nparams); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5728,8 +5690,7 @@ remoteDispatchDomainCreateXMLWithFiles(virNetServerPtr server ATTRIBUTE_UNUSED, VIR_FREE(files); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5779,8 +5740,7 @@ static int remoteDispatchDomainCreateWithFiles(virNetServerPtr server ATTRIBUTE_ VIR_FREE(files); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -5975,8 +5935,7 @@ qemuDispatchConnectDomainMonitorEventRegister(virNetServerPtr server ATTRIBUTE_U VIR_FREE(callback); if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); virMutexUnlock(&priv->lock); return rv; } @@ -6061,8 +6020,7 @@ remoteDispatchDomainGetTime(virNetServerPtr server ATTRIBUTE_UNUSED, cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (dom) - virDomainFree(dom); + virObjectUnref(dom); return rv; } @@ -6475,8 +6433,7 @@ remoteDispatchDomainGetFSInfo(virNetServerPtr server ATTRIBUTE_UNUSED, VIR_FREE(ret->info.info_val); } } - if (dom) - virDomainFree(dom); + virObjectUnref(dom); if (ninfo >= 0) for (i = 0; i < ninfo; i++) virDomainFSInfoFree(info[i]); diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c index d1042bf..2786c1e 100644 --- a/src/conf/domain_event.c +++ b/src/conf/domain_event.c @@ -1544,7 +1544,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn, VIR_WARN("Unexpected event ID %d", event->eventID); cleanup: - virDomainFree(dom); + virObjectUnref(dom); } @@ -1618,7 +1618,7 @@ virDomainQemuMonitorEventDispatchFunc(virConnectPtr conn, qemuMonitorEvent->micros, qemuMonitorEvent->details, data->opaque); - virDomainFree(dom); + virObjectUnref(dom); } diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 1cbebb9..e45ae2d 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -5121,7 +5121,7 @@ esxConnectListAllDomains(virConnectPtr conn, cleanup: if (doms) { for (id = 0; id < count; id++) - virDomainFree(doms[id]); + virObjectUnref(doms[id]); VIR_FREE(doms); } diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c index ece943e..ea9ba85 100644 --- a/src/hyperv/hyperv_driver.c +++ b/src/hyperv/hyperv_driver.c @@ -1311,7 +1311,7 @@ hypervConnectListAllDomains(virConnectPtr conn, cleanup: if (doms) { for (i = 0; i < count; ++i) - virDomainFree(doms[i]); + virObjectUnref(doms[i]); VIR_FREE(doms); } diff --git a/src/locking/sanlock_helper.c b/src/locking/sanlock_helper.c index 52db6cb..d8d294f 100644 --- a/src/locking/sanlock_helper.c +++ b/src/locking/sanlock_helper.c @@ -106,8 +106,7 @@ main(int argc, char **argv) } cleanup: - if (dom) - virDomainFree(dom); + virObjectUnref(dom); if (conn) virConnectClose(conn); VIR_FREE(xml); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index a956c59..8d4b393 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -1010,7 +1010,7 @@ qemuStateStop(void) cleanup: if (domains) { for (i = 0; i < numDomains; i++) - virDomainFree(domains[i]); + virObjectUnref(domains[i]); VIR_FREE(domains); } VIR_FREE(flags); diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 22f0c88..48e2e25 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -1645,8 +1645,7 @@ remoteConnectListAllDomains(virConnectPtr conn, cleanup: if (doms) { for (i = 0; i < ret.domains.domains_len; i++) - if (doms[i]) - virDomainFree(doms[i]); + virObjectUnref(doms[i]); VIR_FREE(doms); } @@ -4764,7 +4763,7 @@ remoteDomainBuildEventLifecycleHelper(virConnectPtr conn, return; event = virDomainEventLifecycleNewFromDom(dom, msg->event, msg->detail); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -4802,7 +4801,7 @@ remoteDomainBuildEventRebootHelper(virConnectPtr conn, return; event = virDomainEventRebootNewFromDom(dom); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -4839,7 +4838,7 @@ remoteDomainBuildEventRTCChangeHelper(virConnectPtr conn, return; event = virDomainEventRTCChangeNewFromDom(dom, msg->offset); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -4876,7 +4875,7 @@ remoteDomainBuildEventWatchdogHelper(virConnectPtr conn, return; event = virDomainEventWatchdogNewFromDom(dom, msg->action); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -4916,7 +4915,7 @@ remoteDomainBuildEventIOErrorHelper(virConnectPtr conn, msg->srcPath, msg->devAlias, msg->action); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -4958,7 +4957,7 @@ remoteDomainBuildEventIOErrorReasonHelper(virConnectPtr conn, msg->action, msg->reason); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -4997,7 +4996,7 @@ remoteDomainBuildEventBlockJobHelper(virConnectPtr conn, event = virDomainEventBlockJobNewFromDom(dom, msg->path, msg->type, msg->status); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5037,7 +5036,7 @@ remoteDomainBuildEventBlockJob2(virNetClientProgramPtr prog ATTRIBUTE_UNUSED, event = virDomainEventBlockJob2NewFromDom(dom, msg->dst, msg->type, msg->status); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, msg->callbackID); } @@ -5091,7 +5090,7 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr conn, msg->authScheme, subject); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); return; @@ -5115,7 +5114,7 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr conn, VIR_FREE(subject->identities); VIR_FREE(subject); } - virDomainFree(dom); + virObjectUnref(dom); return; } static void @@ -5152,7 +5151,7 @@ remoteDomainBuildEventControlErrorHelper(virConnectPtr conn, event = virDomainEventControlErrorNewFromDom(dom); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5195,7 +5194,7 @@ remoteDomainBuildEventDiskChangeHelper(virConnectPtr conn, msg->devAlias, msg->reason); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5236,7 +5235,7 @@ remoteDomainBuildEventTrayChangeHelper(virConnectPtr conn, msg->devAlias, msg->reason); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5275,7 +5274,7 @@ remoteDomainBuildEventPMWakeupHelper(virConnectPtr conn, event = virDomainEventPMWakeupNewFromDom(dom, reason); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5315,7 +5314,7 @@ remoteDomainBuildEventPMSuspendHelper(virConnectPtr conn, event = virDomainEventPMSuspendNewFromDom(dom, reason); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5354,7 +5353,7 @@ remoteDomainBuildEventBalloonChangeHelper(virConnectPtr conn, return; event = virDomainEventBalloonChangeNewFromDom(dom, msg->actual); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5394,7 +5393,7 @@ remoteDomainBuildEventPMSuspendDiskHelper(virConnectPtr conn, event = virDomainEventPMSuspendDiskNewFromDom(dom, reason); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5434,7 +5433,7 @@ remoteDomainBuildEventDeviceRemovedHelper(virConnectPtr conn, event = virDomainEventDeviceRemovedNewFromDom(dom, msg->devAlias); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, callbackID); } @@ -5485,7 +5484,7 @@ remoteDomainBuildEventCallbackTunable(virNetClientProgramPtr prog ATTRIBUTE_UNUS event = virDomainEventTunableNewFromDom(dom, params, nparams); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, msg->callbackID); } @@ -5508,7 +5507,7 @@ remoteDomainBuildEventCallbackAgentLifecycle(virNetClientProgramPtr prog ATTRIBU event = virDomainEventAgentLifecycleNewFromDom(dom, msg->state, msg->reason); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, msg->callbackID); } @@ -5555,7 +5554,7 @@ remoteDomainBuildQemuMonitorEvent(virNetClientProgramPtr prog ATTRIBUTE_UNUSED, msg->event, msg->seconds, msg->micros, msg->details ? *msg->details : NULL); - virDomainFree(dom); + virObjectUnref(dom); remoteEventQueue(priv, event, msg->callbackID); } diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index bffec82..e3d89f3 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -7497,10 +7497,8 @@ vboxConnectListAllDomains(virConnectPtr conn, cleanup: if (doms) { - for (i = 0; i < count; i++) { - if (doms[i]) - virDomainFree(doms[i]); - } + for (i = 0; i < count; i++) + virObjectUnref(doms[i]); } VIR_FREE(doms); -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list