From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Wed, 25 Jun 2014 14:36:03 +0200 Subject: [PATCH] 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 --- server/snd_worker.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/snd_worker.c b/server/snd_worker.c index ebddfcd..c451031 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->recive_data.end - channel->recive_data.now; - spice_assert(n); + spice_warn_if(n <= 0); n = reds_stream_read(channel->stream, channel->recive_data.now, n); if (n <= 0) { if (n == 0) {