On Wed, Dec 2, 2015 at 5:19 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > Allocation on stack is sufficient and code is more similar to > QXL_CMD_MESSAGE and QXL_CMD_UPDATE cases. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/display-channel.c | 5 +---- > server/red_worker.c | 9 +++++---- > 2 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/server/display-channel.c b/server/display-channel.c > index 43f2e0e..809673b 100644 > --- a/server/display-channel.c > +++ b/server/display-channel.c > @@ -2081,7 +2081,7 @@ void display_channel_process_surface_cmd(DisplayChannel *display, RedSurfaceCmd > > surface_id = surface->surface_id; > if SPICE_UNLIKELY(surface_id >= display->n_surfaces) { > - goto exit; > + return; > } > > red_surface = &display->surfaces[surface_id]; > @@ -2119,9 +2119,6 @@ void display_channel_process_surface_cmd(DisplayChannel *display, RedSurfaceCmd > default: > spice_warn_if_reached(); > }; > -exit: > - red_put_surface_cmd(surface); > - free(surface); > } > > void display_channel_update_compression(DisplayChannel *display, DisplayChannelClient *dcc) > diff --git a/server/red_worker.c b/server/red_worker.c > index 329c2ef..f2c3126 100644 > --- a/server/red_worker.c > +++ b/server/red_worker.c > @@ -329,15 +329,16 @@ static int red_process_commands(RedWorker *worker, uint32_t max_pipe_size, int * > break; > } > case QXL_CMD_SURFACE: { > - RedSurfaceCmd *surface = spice_new0(RedSurfaceCmd, 1); > + RedSurfaceCmd surface; > > if (red_get_surface_cmd(&worker->mem_slots, ext_cmd.group_id, > - surface, ext_cmd.cmd.data)) { > - free(surface); > + &surface, ext_cmd.cmd.data)) { > break; > } > - display_channel_process_surface_cmd(worker->display_channel, surface, > + display_channel_process_surface_cmd(worker->display_channel, &surface, > ext_cmd.group_id, FALSE); > + // do not release resource as is released inside red_process_surface > + red_put_surface_cmd(&surface); > break; > } > default: > -- > 2.4.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel Acked-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel