From 4cd4e7cf19d7fc074510685a95255a3ed785b577 Mon Sep 17 00:00:00 2001 From: Yonit Halperin Date: Tue, 13 Nov 2012 10:38:34 -0500 Subject: [PATCH] char_device.c: fix call to spice_marshaller_add_ref with memory on stack rhbz#862352 --- server/char_device.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/server/char_device.c b/server/char_device.c index ac2632d6..141ec884 100644 --- a/server/char_device.c +++ b/server/char_device.c @@ -816,12 +816,14 @@ void spice_char_device_wakeup(SpiceCharDeviceState *dev) void spice_char_device_state_migrate_data_marshall_empty(SpiceMarshaller *m) { - SpiceMigrateDataCharDevice mig_data; + SpiceMigrateDataCharDevice *mig_data; - memset(&mig_data, 0, sizeof(mig_data)); - mig_data.version = SPICE_MIGRATE_DATA_CHAR_DEVICE_VERSION; - mig_data.connected = FALSE; - spice_marshaller_add_ref(m, (uint8_t *)&mig_data, sizeof(SpiceMigrateDataCharDevice)); + spice_debug(NULL); + mig_data = (SpiceMigrateDataCharDevice *)spice_marshaller_reserve_space(m, + sizeof(*mig_data)); + memset(mig_data, 0, sizeof(*mig_data)); + mig_data->version = SPICE_MIGRATE_DATA_CHAR_DEVICE_VERSION; + mig_data->connected = FALSE; } void spice_char_device_state_migrate_data_marshall(SpiceCharDeviceState *dev,