[PATCH weston 02/11] desktop-shell: Return NULL when no outputs are present

Quentin Glidic sardemff7+wayland at sardemff7.net
Sun Jun 19 09:08:33 UTC 2016


On 18/06/2016 19:15, Armin Krezović wrote:
> Currently, get_default_output returns a first member
> of the linked list, which can never be NULL.
>
> This is problematic, as the function would return a
> dangling pointer and NULL pointer checks wouldn't
> work where needed and some of the invalid members
> would get accessed that way, resulting in a crash.
>
> Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
> ---
>  desktop-shell/shell.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index 79cf8dd..c48d41a 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -688,6 +688,9 @@ shell_configuration(struct desktop_shell *shell)
>  struct weston_output *
>  get_default_output(struct weston_compositor *compositor)
>  {
> +	if (wl_list_empty(&compositor->output_list))
> +		return NULL;
> +
>  	return container_of(compositor->output_list.next,
>  			    struct weston_output, link);
>  }
>

Good.
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>

Cheers,

-- 

Quentin “Sardem FF7” Glidic


More information about the wayland-devel mailing list