> > --- > server/spicevmc.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/server/spicevmc.c b/server/spicevmc.c > index d6a6ac8..521a540 100644 > --- a/server/spicevmc.c > +++ b/server/spicevmc.c > @@ -627,6 +627,12 @@ static void > spicevmc_red_channel_release_msg_rcv_buf(RedChannelClient *rcc, > } > } > > +static void marshaller_free_pipe_item(uint8_t *data, void *opaque) > +{ > + RedPipeItem *item = opaque; > + red_pipe_item_unref(item); > +} > + > static void spicevmc_red_channel_send_data(RedChannelClient *rcc, > SpiceMarshaller *m, > RedPipeItem *item) > @@ -635,17 +641,19 @@ static void > spicevmc_red_channel_send_data(RedChannelClient *rcc, > > /* for compatibility send using not compressed data message */ > if (i->type == SPICE_DATA_COMPRESSION_TYPE_NONE) { > - red_channel_client_init_send_data(rcc, SPICE_MSG_SPICEVMC_DATA, > item); > + red_channel_client_init_send_data(rcc, SPICE_MSG_SPICEVMC_DATA, > NULL); > } else { > /* send as compressed */ > - red_channel_client_init_send_data(rcc, > SPICE_MSG_SPICEVMC_COMPRESSED_DATA, item); > + red_channel_client_init_send_data(rcc, > SPICE_MSG_SPICEVMC_COMPRESSED_DATA, NULL); > SpiceMsgCompressedData compressed_msg = { > .type = i->type, > .uncompressed_size = i->uncompressed_data_size > }; > spice_marshall_SpiceMsgCompressedData(m, &compressed_msg); > } > - spice_marshaller_add_by_ref(m, i->buf, i->buf_used); > + red_pipe_item_ref(item); > + spice_marshaller_add_by_ref(m, i->buf, i->buf_used, > + marshaller_free_pipe_item, item); Does not compile, here should be spice_marshaller_add_by_ref_full, the fix is in 8/10 > } > > static void spicevmc_red_channel_send_migrate_data(RedChannelClient *rcc, Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel