Replace virDomainFree with virObjectUnref

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.
This commit is contained in:
John Ferlan 2014-11-30 09:57:02 -05:00
parent 1695f4ee61
commit 8fb3aee2f8
9 changed files with 86 additions and 121 deletions

12
cfg.mk
View File

@ -988,6 +988,15 @@ sc_prohibit_system_error_with_vir_err:
halt='do not use virReportSystemError with VIR_ERR_* error codes' \ halt='do not use virReportSystemError with VIR_ERR_* error codes' \
$(_sc_search_regexp) $(_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. # We don't use this feature of maint.mk.
prev_version_file = /dev/null prev_version_file = /dev/null
@ -1175,3 +1184,6 @@ exclude_file_name_regexp--sc_prohibit_useless_translation = \
exclude_file_name_regexp--sc_prohibit_devname = \ exclude_file_name_regexp--sc_prohibit_devname = \
^(tools/virsh.pod|cfg.mk|docs/.*)$$ ^(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$$)

View File

@ -1347,8 +1347,7 @@ remoteDispatchDomainGetSchedulerType(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -1555,8 +1554,7 @@ remoteDispatchDomainGetSchedulerParameters(virNetServerPtr server ATTRIBUTE_UNUS
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -1613,7 +1611,7 @@ remoteDispatchConnectListAllDomains(virNetServerPtr server ATTRIBUTE_UNUSED,
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (doms && ndomains > 0) { if (doms && ndomains > 0) {
for (i = 0; i < ndomains; i++) for (i = 0; i < ndomains; i++)
virDomainFree(doms[i]); virObjectUnref(doms[i]);
VIR_FREE(doms); VIR_FREE(doms);
} }
return rv; return rv;
@ -1666,8 +1664,7 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNetServerPtr server ATTRIBUTE
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -1724,8 +1721,7 @@ remoteDispatchDomainMemoryStats(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
VIR_FREE(stats); VIR_FREE(stats);
return rv; return rv;
} }
@ -1780,8 +1776,7 @@ remoteDispatchDomainBlockPeek(virNetServerPtr server ATTRIBUTE_UNUSED,
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
VIR_FREE(ret->buffer.buffer_val); VIR_FREE(ret->buffer.buffer_val);
} }
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -1844,8 +1839,7 @@ remoteDispatchDomainBlockStatsFlags(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -1897,8 +1891,7 @@ remoteDispatchDomainMemoryPeek(virNetServerPtr server ATTRIBUTE_UNUSED,
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
VIR_FREE(ret->buffer.buffer_val); VIR_FREE(ret->buffer.buffer_val);
} }
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -1941,8 +1934,7 @@ remoteDispatchDomainGetSecurityLabel(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
VIR_FREE(seclabel); VIR_FREE(seclabel);
return rv; return rv;
} }
@ -2001,8 +1993,7 @@ remoteDispatchDomainGetSecurityLabelList(virNetServerPtr server ATTRIBUTE_UNUSED
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
VIR_FREE(seclabels); VIR_FREE(seclabels);
return rv; return rv;
} }
@ -2107,8 +2098,7 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
VIR_FREE(cpumaps); VIR_FREE(cpumaps);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2143,8 +2133,7 @@ remoteDispatchDomainPinEmulator(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2194,8 +2183,7 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
VIR_FREE(cpumaps); VIR_FREE(cpumaps);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2276,8 +2264,7 @@ remoteDispatchDomainGetVcpus(virNetServerPtr server ATTRIBUTE_UNUSED,
} }
VIR_FREE(cpumaps); VIR_FREE(cpumaps);
VIR_FREE(info); VIR_FREE(info);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2446,8 +2433,7 @@ remoteDispatchDomainGetMemoryParameters(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2509,8 +2495,7 @@ remoteDispatchDomainGetNumaParameters(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2572,8 +2557,7 @@ remoteDispatchDomainGetBlkioParameters(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2757,8 +2741,7 @@ remoteDispatchDomainGetBlockJobInfo(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -2820,8 +2803,7 @@ remoteDispatchDomainGetBlockIoTune(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -3618,8 +3600,7 @@ remoteDispatchDomainGetState(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -3774,8 +3755,7 @@ remoteDispatchConnectDomainEventCallbackRegisterAny(virNetServerPtr server ATTRI
VIR_FREE(callback); VIR_FREE(callback);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
virMutexUnlock(&priv->lock); virMutexUnlock(&priv->lock);
return rv; return rv;
} }
@ -3915,8 +3895,7 @@ qemuDispatchDomainMonitorCommand(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -3967,8 +3946,7 @@ remoteDispatchDomainMigrateBegin3(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4079,8 +4057,7 @@ remoteDispatchDomainMigratePerform3(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4133,8 +4110,7 @@ remoteDispatchDomainMigrateFinish3(virNetServerPtr server ATTRIBUTE_UNUSED,
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
VIR_FREE(cookieout); VIR_FREE(cookieout);
} }
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4170,8 +4146,7 @@ remoteDispatchDomainMigrateConfirm3(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4262,8 +4237,7 @@ remoteDispatchDomainOpenGraphics(virNetServerPtr server ATTRIBUTE_UNUSED,
VIR_FORCE_CLOSE(fd); VIR_FORCE_CLOSE(fd);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4306,8 +4280,7 @@ remoteDispatchDomainOpenGraphicsFd(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4371,8 +4344,7 @@ remoteDispatchDomainGetInterfaceParameters(virNetServerPtr server ATTRIBUTE_UNUS
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4443,8 +4415,7 @@ remoteDispatchDomainGetCPUStats(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, args->ncpus * args->nparams); virTypedParamsFree(params, args->ncpus * args->nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -4498,8 +4469,7 @@ remoteDispatchDomainGetDiskErrors(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
if (errors && len > 0) { if (errors && len > 0) {
size_t i; size_t i;
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
@ -4564,8 +4534,7 @@ remoteDispatchDomainListAllSnapshots(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
if (snaps && nsnaps > 0) { if (snaps && nsnaps > 0) {
for (i = 0; i < nsnaps; i++) for (i = 0; i < nsnaps; i++)
virDomainSnapshotFree(snaps[i]); virDomainSnapshotFree(snaps[i]);
@ -4635,8 +4604,7 @@ remoteDispatchDomainSnapshotListAllChildren(virNetServerPtr server ATTRIBUTE_UNU
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (snapshot) if (snapshot)
virDomainSnapshotFree(snapshot); virDomainSnapshotFree(snapshot);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
if (snaps && nsnaps > 0) { if (snaps && nsnaps > 0) {
for (i = 0; i < nsnaps; i++) for (i = 0; i < nsnaps; i++)
virDomainSnapshotFree(snaps[i]); virDomainSnapshotFree(snaps[i]);
@ -5214,8 +5182,7 @@ lxcDispatchDomainOpenNamespace(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5265,8 +5232,7 @@ remoteDispatchDomainGetJobStats(virNetServerPtr server ATTRIBUTE_UNUSED,
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5323,8 +5289,7 @@ remoteDispatchDomainMigrateBegin3Params(virNetServerPtr server ATTRIBUTE_UNUSED,
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5514,8 +5479,7 @@ remoteDispatchDomainMigratePerform3Params(virNetServerPtr server ATTRIBUTE_UNUSE
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5575,8 +5539,7 @@ remoteDispatchDomainMigrateFinish3Params(virNetServerPtr server ATTRIBUTE_UNUSED
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
VIR_FREE(cookieout); VIR_FREE(cookieout);
} }
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5627,8 +5590,7 @@ remoteDispatchDomainMigrateConfirm3Params(virNetServerPtr server ATTRIBUTE_UNUSE
virTypedParamsFree(params, nparams); virTypedParamsFree(params, nparams);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5728,8 +5690,7 @@ remoteDispatchDomainCreateXMLWithFiles(virNetServerPtr server ATTRIBUTE_UNUSED,
VIR_FREE(files); VIR_FREE(files);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5779,8 +5740,7 @@ static int remoteDispatchDomainCreateWithFiles(virNetServerPtr server ATTRIBUTE_
VIR_FREE(files); VIR_FREE(files);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -5975,8 +5935,7 @@ qemuDispatchConnectDomainMonitorEventRegister(virNetServerPtr server ATTRIBUTE_U
VIR_FREE(callback); VIR_FREE(callback);
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
virMutexUnlock(&priv->lock); virMutexUnlock(&priv->lock);
return rv; return rv;
} }
@ -6061,8 +6020,7 @@ remoteDispatchDomainGetTime(virNetServerPtr server ATTRIBUTE_UNUSED,
cleanup: cleanup:
if (rv < 0) if (rv < 0)
virNetMessageSaveError(rerr); virNetMessageSaveError(rerr);
if (dom) virObjectUnref(dom);
virDomainFree(dom);
return rv; return rv;
} }
@ -6475,8 +6433,7 @@ remoteDispatchDomainGetFSInfo(virNetServerPtr server ATTRIBUTE_UNUSED,
VIR_FREE(ret->info.info_val); VIR_FREE(ret->info.info_val);
} }
} }
if (dom) virObjectUnref(dom);
virDomainFree(dom);
if (ninfo >= 0) if (ninfo >= 0)
for (i = 0; i < ninfo; i++) for (i = 0; i < ninfo; i++)
virDomainFSInfoFree(info[i]); virDomainFSInfoFree(info[i]);

View File

@ -1544,7 +1544,7 @@ virDomainEventDispatchDefaultFunc(virConnectPtr conn,
VIR_WARN("Unexpected event ID %d", event->eventID); VIR_WARN("Unexpected event ID %d", event->eventID);
cleanup: cleanup:
virDomainFree(dom); virObjectUnref(dom);
} }
@ -1618,7 +1618,7 @@ virDomainQemuMonitorEventDispatchFunc(virConnectPtr conn,
qemuMonitorEvent->micros, qemuMonitorEvent->micros,
qemuMonitorEvent->details, qemuMonitorEvent->details,
data->opaque); data->opaque);
virDomainFree(dom); virObjectUnref(dom);
} }

View File

@ -5121,7 +5121,7 @@ esxConnectListAllDomains(virConnectPtr conn,
cleanup: cleanup:
if (doms) { if (doms) {
for (id = 0; id < count; id++) for (id = 0; id < count; id++)
virDomainFree(doms[id]); virObjectUnref(doms[id]);
VIR_FREE(doms); VIR_FREE(doms);
} }

View File

@ -1311,7 +1311,7 @@ hypervConnectListAllDomains(virConnectPtr conn,
cleanup: cleanup:
if (doms) { if (doms) {
for (i = 0; i < count; ++i) for (i = 0; i < count; ++i)
virDomainFree(doms[i]); virObjectUnref(doms[i]);
VIR_FREE(doms); VIR_FREE(doms);
} }

View File

@ -106,8 +106,7 @@ main(int argc, char **argv)
} }
cleanup: cleanup:
if (dom) virObjectUnref(dom);
virDomainFree(dom);
if (conn) if (conn)
virConnectClose(conn); virConnectClose(conn);
VIR_FREE(xml); VIR_FREE(xml);

View File

@ -1010,7 +1010,7 @@ qemuStateStop(void)
cleanup: cleanup:
if (domains) { if (domains) {
for (i = 0; i < numDomains; i++) for (i = 0; i < numDomains; i++)
virDomainFree(domains[i]); virObjectUnref(domains[i]);
VIR_FREE(domains); VIR_FREE(domains);
} }
VIR_FREE(flags); VIR_FREE(flags);

View File

@ -1645,8 +1645,7 @@ remoteConnectListAllDomains(virConnectPtr conn,
cleanup: cleanup:
if (doms) { if (doms) {
for (i = 0; i < ret.domains.domains_len; i++) for (i = 0; i < ret.domains.domains_len; i++)
if (doms[i]) virObjectUnref(doms[i]);
virDomainFree(doms[i]);
VIR_FREE(doms); VIR_FREE(doms);
} }
@ -4764,7 +4763,7 @@ remoteDomainBuildEventLifecycleHelper(virConnectPtr conn,
return; return;
event = virDomainEventLifecycleNewFromDom(dom, msg->event, msg->detail); event = virDomainEventLifecycleNewFromDom(dom, msg->event, msg->detail);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -4802,7 +4801,7 @@ remoteDomainBuildEventRebootHelper(virConnectPtr conn,
return; return;
event = virDomainEventRebootNewFromDom(dom); event = virDomainEventRebootNewFromDom(dom);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -4839,7 +4838,7 @@ remoteDomainBuildEventRTCChangeHelper(virConnectPtr conn,
return; return;
event = virDomainEventRTCChangeNewFromDom(dom, msg->offset); event = virDomainEventRTCChangeNewFromDom(dom, msg->offset);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -4876,7 +4875,7 @@ remoteDomainBuildEventWatchdogHelper(virConnectPtr conn,
return; return;
event = virDomainEventWatchdogNewFromDom(dom, msg->action); event = virDomainEventWatchdogNewFromDom(dom, msg->action);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -4916,7 +4915,7 @@ remoteDomainBuildEventIOErrorHelper(virConnectPtr conn,
msg->srcPath, msg->srcPath,
msg->devAlias, msg->devAlias,
msg->action); msg->action);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -4958,7 +4957,7 @@ remoteDomainBuildEventIOErrorReasonHelper(virConnectPtr conn,
msg->action, msg->action,
msg->reason); msg->reason);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -4997,7 +4996,7 @@ remoteDomainBuildEventBlockJobHelper(virConnectPtr conn,
event = virDomainEventBlockJobNewFromDom(dom, msg->path, msg->type, event = virDomainEventBlockJobNewFromDom(dom, msg->path, msg->type,
msg->status); msg->status);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5037,7 +5036,7 @@ remoteDomainBuildEventBlockJob2(virNetClientProgramPtr prog ATTRIBUTE_UNUSED,
event = virDomainEventBlockJob2NewFromDom(dom, msg->dst, msg->type, event = virDomainEventBlockJob2NewFromDom(dom, msg->dst, msg->type,
msg->status); msg->status);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, msg->callbackID); remoteEventQueue(priv, event, msg->callbackID);
} }
@ -5091,7 +5090,7 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr conn,
msg->authScheme, msg->authScheme,
subject); subject);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
return; return;
@ -5115,7 +5114,7 @@ remoteDomainBuildEventGraphicsHelper(virConnectPtr conn,
VIR_FREE(subject->identities); VIR_FREE(subject->identities);
VIR_FREE(subject); VIR_FREE(subject);
} }
virDomainFree(dom); virObjectUnref(dom);
return; return;
} }
static void static void
@ -5152,7 +5151,7 @@ remoteDomainBuildEventControlErrorHelper(virConnectPtr conn,
event = virDomainEventControlErrorNewFromDom(dom); event = virDomainEventControlErrorNewFromDom(dom);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5195,7 +5194,7 @@ remoteDomainBuildEventDiskChangeHelper(virConnectPtr conn,
msg->devAlias, msg->devAlias,
msg->reason); msg->reason);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5236,7 +5235,7 @@ remoteDomainBuildEventTrayChangeHelper(virConnectPtr conn,
msg->devAlias, msg->devAlias,
msg->reason); msg->reason);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5275,7 +5274,7 @@ remoteDomainBuildEventPMWakeupHelper(virConnectPtr conn,
event = virDomainEventPMWakeupNewFromDom(dom, reason); event = virDomainEventPMWakeupNewFromDom(dom, reason);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5315,7 +5314,7 @@ remoteDomainBuildEventPMSuspendHelper(virConnectPtr conn,
event = virDomainEventPMSuspendNewFromDom(dom, reason); event = virDomainEventPMSuspendNewFromDom(dom, reason);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5354,7 +5353,7 @@ remoteDomainBuildEventBalloonChangeHelper(virConnectPtr conn,
return; return;
event = virDomainEventBalloonChangeNewFromDom(dom, msg->actual); event = virDomainEventBalloonChangeNewFromDom(dom, msg->actual);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5394,7 +5393,7 @@ remoteDomainBuildEventPMSuspendDiskHelper(virConnectPtr conn,
event = virDomainEventPMSuspendDiskNewFromDom(dom, reason); event = virDomainEventPMSuspendDiskNewFromDom(dom, reason);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5434,7 +5433,7 @@ remoteDomainBuildEventDeviceRemovedHelper(virConnectPtr conn,
event = virDomainEventDeviceRemovedNewFromDom(dom, msg->devAlias); event = virDomainEventDeviceRemovedNewFromDom(dom, msg->devAlias);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, callbackID); remoteEventQueue(priv, event, callbackID);
} }
@ -5485,7 +5484,7 @@ remoteDomainBuildEventCallbackTunable(virNetClientProgramPtr prog ATTRIBUTE_UNUS
event = virDomainEventTunableNewFromDom(dom, params, nparams); event = virDomainEventTunableNewFromDom(dom, params, nparams);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, msg->callbackID); remoteEventQueue(priv, event, msg->callbackID);
} }
@ -5508,7 +5507,7 @@ remoteDomainBuildEventCallbackAgentLifecycle(virNetClientProgramPtr prog ATTRIBU
event = virDomainEventAgentLifecycleNewFromDom(dom, msg->state, event = virDomainEventAgentLifecycleNewFromDom(dom, msg->state,
msg->reason); msg->reason);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, msg->callbackID); remoteEventQueue(priv, event, msg->callbackID);
} }
@ -5555,7 +5554,7 @@ remoteDomainBuildQemuMonitorEvent(virNetClientProgramPtr prog ATTRIBUTE_UNUSED,
msg->event, msg->seconds, msg->event, msg->seconds,
msg->micros, msg->micros,
msg->details ? *msg->details : NULL); msg->details ? *msg->details : NULL);
virDomainFree(dom); virObjectUnref(dom);
remoteEventQueue(priv, event, msg->callbackID); remoteEventQueue(priv, event, msg->callbackID);
} }

View File

@ -7497,10 +7497,8 @@ vboxConnectListAllDomains(virConnectPtr conn,
cleanup: cleanup:
if (doms) { if (doms) {
for (i = 0; i < count; i++) { for (i = 0; i < count; i++)
if (doms[i]) virObjectUnref(doms[i]);
virDomainFree(doms[i]);
}
} }
VIR_FREE(doms); VIR_FREE(doms);