diff --git a/server/red-parse-qxl.c b/server/red-parse-qxl.c index 69748698..d0e7eb71 100644 --- a/server/red-parse-qxl.c +++ b/server/red-parse-qxl.c @@ -1450,8 +1450,7 @@ static bool red_get_cursor(RedMemSlotInfo *slots, int group_id, if (free_data) { red->data = data; } else { - red->data = g_malloc(size); - memcpy(red->data, data, size); + red->data = g_memdup(data, size); } return true; } diff --git a/server/red-stream-device.c b/server/red-stream-device.c index e91df88d..d81c3b26 100644 --- a/server/red-stream-device.c +++ b/server/red-stream-device.c @@ -344,7 +344,7 @@ stream_msg_cursor_set_to_cursor_cmd(const StreamMsgCursorSet *msg, size_t msg_si return NULL; } cursor->data_size = size_required; - cursor->data = spice_memdup(msg->data, size_required); + cursor->data = g_memdup(msg->data, size_required); return cmd; }