On Thu, 2015-11-26 at 12:26 +0000, Frediano Ziglio wrote: > If surface_id is not valid we should still release resource allocated > by red_get_update_cmd and from the guest. > This to reduce leaks in case of a race or another error in the guest > driver. > Also not issue a warning on invalid surface number to avoid filling > log space unconditionally. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/red_worker.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/server/red_worker.c b/server/red_worker.c > index 678b581..229ffe9 100644 > --- a/server/red_worker.c > +++ b/server/red_worker.c > @@ -877,12 +877,10 @@ static int red_process_commands(RedWorker *worker, > uint32_t max_pipe_size, int * > &update, ext_cmd.cmd.data)) { > break; > } > - if (!validate_surface(worker->display_channel, > update.surface_id)) { > - spice_warning("Invalid surface in QXL_CMD_UPDATE"); > - break; > + if (validate_surface(worker->display_channel, update.surface_id)) > { > + display_channel_draw(worker->display_channel, &update.area, > update.surface_id); > + worker->qxl->st->qif->notify_update(worker->qxl, > update.update_id); > } > - display_channel_draw(worker->display_channel, &update.area, > update.surface_id); > - worker->qxl->st->qif->notify_update(worker->qxl, > update.update_id); > release_info_ext.group_id = ext_cmd.group_id; > release_info_ext.info = update.release_info; > worker->qxl->st->qif->release_resource(worker->qxl, > release_info_ext); Acked-by: Pavel Grunt <pgrunt@xxxxxxxxxx> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel