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

Armin Krezović krezovic.armin at gmail.com
Sat Jun 18 17:15:17 UTC 2016

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);

More information about the wayland-devel mailing list