[libvirt] [PATCH 0/2] rpc: fix memleak

Nikolay Shirokovskiy (2): daemon: fix rpc event leak on error path in remoteDispatchObjectEventSend lxc: fix rpc event leak on error path in virLXCControllerEventSend src/lxc/lxc_controller.c | 3 ++- src/remote/remote_daemon_dispatch.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) -- 1.8.3.1

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> --- src/remote/remote_daemon_dispatch.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c index fdb0a36..ea67cb7 100644 --- a/src/remote/remote_daemon_dispatch.c +++ b/src/remote/remote_daemon_dispatch.c @@ -4008,7 +4008,8 @@ remoteDispatchObjectEventSend(virNetServerClientPtr client, goto cleanup; VIR_DEBUG("Queue event %d %zu", procnr, msg->bufferLength); - virNetServerClientSendMessage(client, msg); + if (virNetServerClientSendMessage(client, msg) < 0) + goto cleanup; xdr_free(proc, data); return; -- 1.8.3.1

On Mon, Feb 26, 2018 at 02:13:49PM +0300, Nikolay Shirokovskiy wrote:
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> --- src/remote/remote_daemon_dispatch.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c index fdb0a36..ea67cb7 100644 --- a/src/remote/remote_daemon_dispatch.c +++ b/src/remote/remote_daemon_dispatch.c @@ -4008,7 +4008,8 @@ remoteDispatchObjectEventSend(virNetServerClientPtr client, goto cleanup;
VIR_DEBUG("Queue event %d %zu", procnr, msg->bufferLength); - virNetServerClientSendMessage(client, msg); + if (virNetServerClientSendMessage(client, msg) < 0) + goto cleanup;
xdr_free(proc, data); return;
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> --- src/lxc/lxc_controller.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 7346804..59609b0 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -2253,7 +2253,8 @@ virLXCControllerEventSend(virLXCControllerPtr ctrl, goto error; VIR_DEBUG("Queue event %d %zu", procnr, msg->bufferLength); - virNetServerClientSendMessage(ctrl->client, msg); + if (virNetServerClientSendMessage(ctrl->client, msg) < 0) + goto error; xdr_free(proc, data); return; -- 1.8.3.1

On Mon, Feb 26, 2018 at 02:13:50PM +0300, Nikolay Shirokovskiy wrote:
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> --- src/lxc/lxc_controller.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 7346804..59609b0 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -2253,7 +2253,8 @@ virLXCControllerEventSend(virLXCControllerPtr ctrl, goto error;
VIR_DEBUG("Queue event %d %zu", procnr, msg->bufferLength); - virNetServerClientSendMessage(ctrl->client, msg); + if (virNetServerClientSendMessage(ctrl->client, msg) < 0) + goto error;
xdr_free(proc, data); return;
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
participants (2)
-
Daniel P. Berrangé
-
Nikolay Shirokovskiy