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(a)redhat.com>
---
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