From: Wang King Date: Mon, 24 Apr 2017 04:05:24 +0000 (+0800) Subject: daemon: Fix domain name leak in error path X-Git-Tag: v3.3.0-rc1~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f69340472cf71c11313ad0018c918d702b08d155;p=thirdparty%2Flibvirt.git daemon: Fix domain name leak in error path Domain name is duplicated in make_nonnull_domain, but not freed when virTypedParamsSerialize returns error. --- diff --git a/daemon/remote.c b/daemon/remote.c index 1610feabdc..a8c21fd2ff 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -1066,8 +1066,10 @@ remoteRelayDomainEventTunable(virConnectPtr conn, if (virTypedParamsSerialize(params, nparams, (virTypedParameterRemotePtr *) &data.params.params_val, &data.params.params_len, - VIR_TYPED_PARAM_STRING_OKAY) < 0) + VIR_TYPED_PARAM_STRING_OKAY) < 0) { + VIR_FREE(data.dom.name); return -1; + } remoteDispatchObjectEventSend(callback->client, remoteProgram, REMOTE_PROC_DOMAIN_EVENT_CALLBACK_TUNABLE, @@ -1206,8 +1208,10 @@ remoteRelayDomainEventJobCompleted(virConnectPtr conn, if (virTypedParamsSerialize(params, nparams, (virTypedParameterRemotePtr *) &data.params.params_val, &data.params.params_len, - VIR_TYPED_PARAM_STRING_OKAY) < 0) + VIR_TYPED_PARAM_STRING_OKAY) < 0) { + VIR_FREE(data.dom.name); return -1; + } remoteDispatchObjectEventSend(callback->client, remoteProgram, REMOTE_PROC_DOMAIN_EVENT_CALLBACK_JOB_COMPLETED,