If data message is followed by another message was theoretically possible that device looses the sync with the guest. The actual Qemu and agent implementation avoids it but better to avoid it. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- server/stream-device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/stream-device.c b/server/stream-device.c index 170c8637..ddac0ca9 100644 --- a/server/stream-device.c +++ b/server/stream-device.c @@ -281,7 +281,7 @@ handle_msg_data(StreamDevice *dev, SpiceCharDeviceInstance *sin) while (1) { uint8_t buf[16 * 1024]; - n = sif->read(sin, buf, sizeof(buf)); + n = sif->read(sin, buf, MIN(sizeof(buf), dev->hdr.size)); if (n <= 0) { break; } -- 2.14.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel