[PATCH weston v2] compositor: fix crash when destroying incompletely created output
Derek Foreman
derekf at osg.samsung.com
Fri Aug 7 10:00:12 PDT 2015
Thanks,
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
On 06/08/15 07:04 PM, Dawid Gajownik wrote:
> When the output can't be completely created in the backend (for example
> lack of memory), weston_compositor_add_output() is never run. In such
> a case output->link is not initialized. Letter, when
> weston_output_destroy() is called, application crashes on
> wl_list_remove(&output->link).
>
> This problem happens when drm, fbdev, rdp, rpi or wayland backend is
> used.
>
> v2: Initialize output->link in weston_output_init() as suggested by
> Derek Foreman.
>
> Signed-off-by: Dawid Gajownik <gajownik at gmail.com>
> ---
> src/compositor.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/compositor.c b/src/compositor.c
> index e27f44e..0268afc 100644
> --- a/src/compositor.c
> +++ b/src/compositor.c
> @@ -4077,6 +4077,7 @@ weston_output_init(struct weston_output *output, struct weston_compositor *c,
> wl_list_init(&output->animation_list);
> wl_list_init(&output->resource_list);
> wl_list_init(&output->feedback_list);
> + wl_list_init(&output->link);
>
> loop = wl_display_get_event_loop(c->wl_display);
> output->repaint_timer = wl_event_loop_add_timer(loop,
>
More information about the wayland-devel
mailing list