[PATCH weston] shell: Make sure we actually have a resource in end_busy_cursor

Bryce Harrington bryce at osg.samsung.com
Tue Sep 15 06:58:04 PDT 2015


On Mon, Sep 14, 2015 at 11:32:44AM -0700, Bryce Harrington wrote:
> On Fri, Sep 11, 2015 at 02:30:39PM -0500, Derek Foreman wrote:
> > It's actually possible to get here after the surface has been destroyed,
> > especially when running client apps under valgrind.
> > 
> > That probably shouldn't be able to segfault the compositor.
> > 
> > Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
> 
> According to the comment in shell_surface_is_wl_shell_surface(), NULL is
> a valid state for this parameter.  It suggests that it will be NULL when
> the shell surface is created from xwayland.
> 
> Several other places in shell.c check the state of this parameter before
> use, and so adding a check here seems correct.  (In fact, I wonder if
> every place in shell.c that uses shsurf->resource should check for NULL
> first as well?  I'll follow up with a patch proposal.)
> 
> Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>

Thanks, pushed.
 
> 
> > ---
> >  desktop-shell/shell.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> > index 034d39b..ecc42c5 100644
> > --- a/desktop-shell/shell.c
> > +++ b/desktop-shell/shell.c
> > @@ -2119,6 +2119,7 @@ end_busy_cursor(struct weston_compositor *compositor, struct wl_client *client)
> >  
> >  		grab = (struct shell_grab *) pointer->grab;
> >  		if (grab->grab.interface == &busy_cursor_grab_interface &&
> > +		    grab->shsurf->resource &&
> >  		    wl_resource_get_client(grab->shsurf->resource) == client) {
> >  			shell_grab_end(grab);
> >  			free(grab);
> > -- 
> > 2.5.1
> > 
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list