[Spice-devel] [PATCH spice-server] red_channel: fix not handling self pipe items in red_channel_client_release_item

Yonit Halperin yhalperi at redhat.com
Tue Apr 30 12:07:33 PDT 2013


When a client disconnects, red_channel_client_pipe_clear is called.
Releasing pipe items of type == MIGRATE||EMPTY_MSG||PING
wasn't handled, and was passed to channel_cbs.release_item.
There, an error occured since the pipe items were not recognized.
---
 server/red_channel.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/server/red_channel.c b/server/red_channel.c
index b1a6d57..9047762 100644
--- a/server/red_channel.c
+++ b/server/red_channel.c
@@ -576,6 +576,9 @@ static void red_channel_client_release_item(RedChannelClient *rcc, PipeItem *ite
 
     switch (item->type) {
         case PIPE_ITEM_TYPE_SET_ACK:
+        case PIPE_ITEM_TYPE_EMPTY_MSG:
+        case PIPE_ITEM_TYPE_MIGRATE:
+        case PIPE_ITEM_TYPE_PING:
             free(item);
             break;
         default:
-- 
1.8.0.1



More information about the Spice-devel mailing list