]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
daemon: Fix domain name leak in error path
authorWang King <king.wang@huawei.com>
Mon, 24 Apr 2017 04:05:24 +0000 (12:05 +0800)
committerMartin Kletzander <mkletzan@redhat.com>
Tue, 25 Apr 2017 09:30:26 +0000 (11:30 +0200)
Domain name is duplicated in make_nonnull_domain, but not freed when
virTypedParamsSerialize returns error.

daemon/remote.c

index 1610feabdc0d67986657f95148692b2d7b329efb..a8c21fd2fff1a0a97aace240d052e174dfd0afde 100644 (file)
@@ -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,