mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-03 07:02:25 +00:00
server/red_worker: seamless: fix invalid memory reference
replace add_ref with add for stack allocated SpiceMigrateDataDisplay. This fixes wrong MIGRATE_DATA message in display channel (symptom is glz_encoder_max being way too big, and malloc failure at target) seen on F18 with gcc-4.7.1-5.fc18.x86_64 and glibc-2.16-8.fc18.x86_64 (didn't appear on RHEL 6).
This commit is contained in:
parent
3d28317e97
commit
897aaa7be5
@ -8442,7 +8442,7 @@ static void display_channel_marshall_migrate_data(RedChannelClient *rcc,
|
||||
{
|
||||
DisplayChannel *display_channel;
|
||||
DisplayChannelClient *dcc = RCC_TO_DCC(rcc);
|
||||
SpiceMigrateDataDisplay display_data;
|
||||
SpiceMigrateDataDisplay display_data = {0,};
|
||||
|
||||
display_channel = SPICE_CONTAINEROF(rcc->channel, DisplayChannel, common.base);
|
||||
|
||||
@ -8471,8 +8471,8 @@ static void display_channel_marshall_migrate_data(RedChannelClient *rcc,
|
||||
&dcc->glz_data.usr);
|
||||
|
||||
/* all data besided the surfaces ref */
|
||||
spice_marshaller_add_ref(base_marshaller,
|
||||
(uint8_t *)&display_data, sizeof(display_data) - sizeof(uint32_t));
|
||||
spice_marshaller_add(base_marshaller,
|
||||
(uint8_t *)&display_data, sizeof(display_data) - sizeof(uint32_t));
|
||||
display_channel_marshall_migrate_data_surfaces(dcc, base_marshaller,
|
||||
display_channel->enable_jpeg);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user