diff options
author | Frediano Ziglio <freddy77@gmail.com> | 2020-05-15 14:19:55 +0100 |
---|---|---|
committer | Frediano Ziglio <freddy77@gmail.com> | 2020-05-15 15:22:52 +0100 |
commit | fa2e3371c8a1cc3038039d08e13a289ae4fdb207 (patch) | |
tree | ab6e3d350ff8db0d5a179b0c03a23a1349e647b8 | |
parent | 0fe97cc05aee4669b446ac85e19066c4771860ff (diff) |
vdagent: Reset properly state of pending large messages upon disconnection
If the client closes the connection while having pending large messages
(split into multiple chunks) the state is not correctly reset causing
next client messages to be not correctly handled.
This can occur for instance if the client is closed (or killed) while
transferring a large file.
This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1548419.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Victor Toso <victortoso@redhat.com>
-rw-r--r-- | vdagent/vdagent.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp index 35a7c95..da8b219 100644 --- a/vdagent/vdagent.cpp +++ b/vdagent/vdagent.cpp @@ -1348,6 +1348,7 @@ void VDAgent::dispatch_message(VDAgentMessage* msg, uint32_t port) } case VD_AGENT_CLIENT_DISCONNECTED: vd_printf("Client disconnected, resetting agent state"); + cleanup_in_msg(); set_control_event(CONTROL_RESET); break; case VD_AGENT_MAX_CLIPBOARD: |