[Spice-commits] vdagent/vdagent.cpp

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri May 15 14:23:39 UTC 2020


 vdagent/vdagent.cpp |    1 +
 1 file changed, 1 insertion(+)

New commits:
commit fa2e3371c8a1cc3038039d08e13a289ae4fdb207
Author: Frediano Ziglio <freddy77 at gmail.com>
Date:   Fri May 15 14:19:55 2020 +0100

    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 at gmail.com>
    Acked-by: Victor Toso <victortoso at redhat.com>

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:


More information about the Spice-commits mailing list