[Spice-devel] [PATCH spice-server] fixup! dcc-send: remove useless pipe_item assignment pipe_item
Frediano Ziglio
fziglio at redhat.com
Thu Jul 4 09:33:57 UTC 2019
Remove use-after-free introduced by a78a7d251042892182b158650291d19a85bbd6b1
---
server/dcc-send.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/server/dcc-send.c b/server/dcc-send.c
index 565a79f33..4582e3545 100644
--- a/server/dcc-send.c
+++ b/server/dcc-send.c
@@ -725,7 +725,6 @@ static void red_pipe_replace_rendered_drawables_with_images(DisplayChannelClient
RedPipeItem *pipe_item = l->data;
Drawable *drawable;
RedDrawablePipeItem *dpi;
- RedImageItem *image;
if (pipe_item->type != RED_PIPE_ITEM_TYPE_DRAW)
continue;
@@ -745,14 +744,16 @@ static void red_pipe_replace_rendered_drawables_with_images(DisplayChannelClient
continue;
}
- image = dcc_add_surface_area_image(dcc, drawable->red_drawable->surface_id,
- &drawable->red_drawable->bbox, l, TRUE);
+ dcc_add_surface_area_image(dcc, drawable->red_drawable->surface_id,
+ &drawable->red_drawable->bbox, l, TRUE);
resent_surface_ids[num_resent] = drawable->red_drawable->surface_id;
resent_areas[num_resent] = drawable->red_drawable->bbox;
num_resent++;
- spice_assert(image);
+ GList *image_pos = l->next;
+ spice_assert(image_pos);
red_channel_client_pipe_remove_and_release_pos(RED_CHANNEL_CLIENT(dcc), l);
+ l = image_pos;
}
}
--
2.20.1
More information about the Spice-devel
mailing list