If the client (spice-gtk) disconnects e.g. during a file transfer,
the mux stream gets closed and the count of read bytes does not
match the count that the client previously announced.
However, in this case, we mustn't simply return, since that would
prevent any further connections.

Signed-off-by: Jakub Janků <jja...@redhat.com>
---
 spice/spice-webdavd.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/spice/spice-webdavd.c b/spice/spice-webdavd.c
index 81b4d91..e1e0f5c 100644
--- a/spice/spice-webdavd.c
+++ b/spice/spice-webdavd.c
@@ -251,11 +251,13 @@ mux_data_read_cb (GObject      *source_object,
   gssize size;
 
   size = input_stream_read_thread_finish (G_INPUT_STREAM (source_object), res, 
&error);
-  g_return_if_fail (size == demux.size);
   if (error)
     {
       g_warning ("error: %s", error->message);
       g_clear_error (&error);
+    }
+  if (size != demux.size)
+    {
       quit (-1);
       return;
     }
-- 
2.21.0

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to