[Spice-commits] server/snd_worker.c

Marc-André Lureau elmarco at kemper.freedesktop.org
Fri Jul 25 08:25:38 PDT 2014


 server/snd_worker.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 3c25192ee90f843a2f84ff99d119b1cb45979bac
Author: Marc-André Lureau <marcandre.lureau at gmail.com>
Date:   Wed Jun 25 14:36:03 2014 +0200

    server: don't assert on invalid client message
    
    Some users have been reaching this error:
    snd_receive: ASSERT n failed
    
    A misbehaving client could easily hit that condition by sending too big
    messages. Instead of assert(), replace with a warning. When a message
    too big to fit is received, it will simply disconnect the channel.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=962187

diff --git a/server/snd_worker.c b/server/snd_worker.c
index 7d52ded..70148b7 100644
--- a/server/snd_worker.c
+++ b/server/snd_worker.c
@@ -421,7 +421,7 @@ static void snd_receive(void* data)
     for (;;) {
         ssize_t n;
         n = channel->receive_data.end - channel->receive_data.now;
-        spice_assert(n);
+        spice_warn_if(n <= 0);
         n = reds_stream_read(channel->stream, channel->receive_data.now, n);
         if (n <= 0) {
             if (n == 0) {


More information about the Spice-commits mailing list